0
a<-as.factor(c('a','a','b','b','c','d'))
b<-as.factor(c('a','b','c','c','d','a'))
c<-as.factor(c('a','b','d','d','c','b'))
x<-data.frame(a,b,c)

  a b c
1 a a a
2 a b b
3 b c d
4 b c d
5 c d c
6 d a b

我有一个非常大的数据表(使用 datatable 包),我想简单地获取列名并将它们附加到行因子值以便于识别。

所以在上面的简单示例中(使用数据框进行说明)我会有类似的东西

a    b   c
a:a  b:a c:a
a:a  b:b c:b
a:b  b:c c:d
..
..
a:d  b:a c:b

我曾尝试(不成功)进行某种类型的应用和粘贴组合。但我不能完全传递 colname 参数以正确粘贴到每一列。关于如何为大型数据表完成这项任务的任何想法?数据表方法会很棒,但数据框也很好,因为它只是一次性操作。

4

1 回答 1

4

数据框解决方案:

x[] <- mapply(function(n, f) {
    levels(f) <- paste(n, levels(f), sep=":")
    f
}, names(x), x)
于 2013-05-19T09:20:16.153 回答