【发布时间】:2016-07-14 07:20:10
【问题描述】:
我有一个包含多个字符变量的数据框,我想在每一行中找到唯一的字符串。每行只有一个特定的字符串在几列中重复,并被 NA 包围。 IE。数据框“df”:
Col1 Col2 Col3
1 ABC ABC NA
2 NA DEF DEF
3 GHI NA NA
4 JKL JKL JKL
作为我想要的输出
ABC
DEF
GHI
JKL
最好为每一行设置某种应用函数。我尝试了几种变体
apply(df,1, function(x) unique(x))
但这并不成功。我认为有一个很简单的方法,如果你知道正确的功能?我该怎么做?
【问题讨论】:
-
如果每行只有一个唯一元素(可能在该行或行中重复或不重复),您可以使用
df[cbind(1:nrow(df), max.col(!is.na(df)))]而无需循环
标签: r dataframe character unique elements