0
我有一個data.frame有兩個變量。我需要通過var1對它們進行分組,並使用該組中唯一的不同值來替換var2中的每個x。分配單個值到分組變量,R
例如:
var1 var2
1 1 a
2 2 a
3 2 x
4 3 b
5 4 c
6 5 a
7 6 c
8 6 x
9 7 c
10 8 x
11 8 b
12 8 b
13 9 a
結果應該是:
var1 var2
1 1 a
2 2 a
3 2 a <-
4 3 b
5 4 c
6 5 a
7 6 c
8 6 c <-
9 7 c
10 8 b <-
11 8 b
12 8 b
13 9 a
我還是設法解決這個例子:
dat <- data.frame(var1=c(1,2,2,3,4,5,6,6,7,8,8,8,9), var2=c("a","a","x","b","c","a","a","x","c","x","b","b","a"))
dat %>% group_by(var1) %>% mutate(
var2 = as.character(var2),
var2 = ifelse(var2 == 'x',var2[order(var2)][1],var2))
但是,這並不對我的真實數據,因爲工作的訂購:(
我需要另外一種方法,我想像一下明確地檢查「不是x」,但我沒有找到解決方案。
任何幫助欣賞!
如果你有同一組內的兩個或多個唯一的非x值?像var1 = c(10,10,10); VAR2 = C(「A」,」 B」,」 X」)。如果x是組中唯一的價值呢? –