原始my.data:
my.data <- data.frame(
ID = c(1,1,2,2,2),
Value = c(3,4,2.1,3.4,5)
)
ID Value
1 3
1 4
2 2.1
2 3.4
2 5数据由aggregate整合,如下所示
consol <- aggregate(Value ~ID, my.data, paste)consol看起来像这样:
ID Value
1 c("3", "4")
2 c("2.1", "3.4", "5")如何统计consol中value的元素个数?即使consol[1,2]显示"3" "4",length(consol[1,2])也会给出1的值。实际上,Value列中的所有单元格的长度都是1。我希望consol[1,2]的长度为2,consol[2,2]的长度为3。
发布于 2017-03-25 00:50:47
lapply(consol$Value, function(x) length(x))发布于 2017-03-25 00:54:27
这些元素被聚合到一个列表中。该字段中只有一个列表,但该列表有多个元素。因此,要获取列表中元素的数量,您需要像这样打开它:
length(consol[1,2][[1]])另请参阅:
class(consol[1,2])
> [1] "list"
class(consol[1,2][[1]])
> [1] "character"https://stackoverflow.com/questions/43004965
复制相似问题