如果我有一个包含一列,名称和另一个站点的数据框,并且我想确定站点关系唯一名称的数量。删除r中数据帧的两列之间冗余的更好方法
我写了下面的脚本。它的工作原理,但感觉bodged,是我真实的数据慢:
df = data.frame(name = c("dave", "bob", "dave", "john", "fred", "dave"), site = c(1,2,2,1,1,1))
redun = vector()
for (i in 1:length(df$name)){
redun[i] = paste(df$name[i], df$site[i])
}
uniq = length(unique(redun))
为什么你觉得有必要循环? '长度(唯一(paste0(df $ name,df $ site)))'应该完成这项工作。 – Roland 2013-04-22 14:06:12
非常感谢!这是因为df的真实版本有很多列,而不仅仅是两列,所以我对此有点困惑和奇怪。再次感谢。 – 2013-04-22 14:15:01
'table(df $ name,df $ site)'也应该有助于找到这个关系(可能对您的问题不是直截了当的)。 – Arun 2013-04-22 14:50:23