我有一个基于每周食物日记的数据框,供调查参与者使用。数据已被清理,因此,对于每个食品项目,所有星期一摄入量都记录在fiMO上,所有星期二摄入量都是根据fiTU等记录的。这些值都是数字。
我想要做的是识别 - 这可能仅仅是R输出窗口 - 同一食品项目所有七天内的唯一值的数量。例如,如果在mo(nday)和我们(星期三)中记录1,那么我应该只看到1次。这是所有4600名受访者。
我试过
unique(Testdata[,2:8])
但是它给了我所有七列组合定义的唯一行数,而不是整个7列中唯一值的数量。
使用下面的假数据,我希望知道七天内的唯一值。我这样做是为了清理数据,以确保没有意外的值(例如超出范围),因此我不关心每个值出现的次数。
fakedays <- data.frame(mo = c(ceiling(runif(100, min=-1, max=10))),
tu = c(ceiling(runif(100, min=-1, max=10))),
we = c(ceiling(runif(100, min=-1, max=10))),
th = c(ceiling(runif(100, min=-1, max=10))),
fr = c(ceiling(runif(100, min=-1, max=10))),
sa = c(ceiling(runif(100, min=-1, max=10))),
su = c(ceiling(runif(100, min=-1, max=10))))
我查看了答案here,here,here和here,但它们都涉及感兴趣的列中唯一的值组合。
我有32个要清洁的食品,每个都有一个星期的数据,因此我不希望这个单一栏目做这个工作。
答案 0 :(得分:2)
你不只是在寻找这个:
table(unlist(fakedays))