【发布时间】:2014-08-05 14:46:07
【问题描述】:
我有一个有 4 列的 data.frame。第 2 列有每个人的唯一 ID(“Cofecha”),第 4 列有给定个人所属的地块(“地块”)。 data.frame 中的每个个体多次出现。我正在尝试做两件事:(1)获取独特个体的数量,然后(2)找出每个情节中有多少独特个体。我可以找到唯一个体的总数(摘录中的 4 个),但我不知道如何计算每个情节的个体数量。任何帮助将不胜感激!
摘自原始data.frame:
dx1
用于查找唯一个体的代码:
dx2
我也尝试了“表格”,但它只给了我每个人出现的次数,而不是每个情节出现了多少独特的人:
表(dx1$Cofecha)
有没有办法根据姓名的前 3 个字符计算每个人的数量?前 3 个字符相当于情节 ID。
【问题讨论】:
-
这个
table(dx1$Plot)不会和table(substr(dx1$Cofecha, 1,3))一样。还是with(dx1, tapply(as.character(Cofecha), list(Plot), FUN=function(x) length(unique(x))))? -
最后一个选项正是我想要的! table(dx1$Plot) 和 table(substr(dx1$Cofecha, 1,3)) 给出或多或少相同的输出。但是您的最后一个解决方案效果很好;这正是我想要做的。谢谢!