我有以下示例数据框x
id val
a 1
a 2
a 3
b 2
b 4
b 9
我有一个简单的功能,我在做SAC时应用。像,
f.x <- function(x){
cat(x$id,"\n")
}
请注意,我要做的就是打印分组术语。使用ddply调用此函数,如下所示
ddply(x,.(id),f.x)
然而,当我运行这个时,我得到整数输出,我怀疑它是列表的索引。如何在f.x中获得实际的分组术语,在本例中为'a'和&amp; 'B'? 非常感谢。
答案 0 :(得分:4)
永远不要误以为只是因为变量看起来像一堆字符,它实际上只是一堆字符。
因素不是人物。它们是整数代码,通常表现为整数代码。
使用as.character()将值强制转换为字符。
答案 1 :(得分:1)
如果你要做的每件事都是打印的,你应该使用d_ply。 在ddply(d_ply)中传递给函数的实际参数(这里是f.x)是data.frame(x data.frame的子集),所以你应该修改你的f.x函数。
f.x <- function(x) cat(x[1,"id"],"\n")
d_ply(x,.(id),f.x)