[英]mutate_at using multiple conditons
我想通過將它們除以列Unit
來轉換在我的數據幀test
的名稱中包含 1 或 2 的列。
它似乎適用於一個條件,但我不知道如何添加條件OR 1
test= test%>% mutate_at(vars(contains('2')), funs(./Unit))
任何的想法?
Identifier Source 196001 200006 Unit
1: top HH NA NA 1e-06
2: top2 BB NA 4569.6 1e+00
這應該有效:
test = read.table(header = T,text="
Identifier Source 196001 200006 Unit
top HH 65 888 3
top2 BB 0111 9886 8") #I modified your values so you can see the divisions
test %>% mutate_at(vars(contains('2'), contains('1')), funs(./Unit))
基本上你說“選擇包含 2 的變量,哦,還選擇包含 1 的變量”。
如果您想選擇包含 1 AND 2 的變量,這將是一個不同的問題,可能需要正則表達式(使用dplyr::match
)。
另外,請注意funs
已被軟棄用,您現在應該使用 lambda 函數:
test = test %>% mutate_at(vars(contains('2'), contains('1')), ~./Unit)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.