我有一个数据集,要求每个参与者回答一系列问题;有些人对每个问题都给出了同样的回答 - 我想丢弃这些参与者'数据,但不知道如何去做。
我的意思是我可以尝试过滤/区分,但我遇到的问题是大约有100个问题(所以100列)而且我不确定语法是什么使R过滤所有它们。
基本上我的数据集看起来像这样
Navigation.PushAsync
整理完后,看起来应该是这样的
id q1 q2 q3 q4 q5
1 7 4 2 3 5
2 5 7 2 6 1
3 1 1 1 1 1
4 4 7 8 2 3
非常感谢任何帮助!
答案 0 :(得分:2)
您可以使用以下方法检查所有答案是否相同:
all_the_same = apply(df, 1, function(x) all(x == x[1]))
然后简单地抛弃它们:
df[!all_the_same,]
或使用dplyr
:
df %>% filter(!all_the_same)
答案 1 :(得分:0)
以下是paste
和gsub
df[nchar(gsub("(.)\\1+", "", do.call(paste0, df[-1])))>0,]
# id q1 q2 q3 q4 q5
#1 1 7 4 2 3 5
#2 2 5 7 2 6 1
#4 4 4 7 8 2 3