这里的一个数据帧我正在使用:转换一个数据帧为数值数据帧中的R
c1 = c('a', 'b', 'c', 'd')
c2 = c('d', 'a', 'd', 'c')
c3 = c('a', 'c', 'd', 'b')
c4 = c('a', 'c', 'b', 'd')
df = data.frame(c1, c2, c3, c4)
c1 c2 c3 c4
a d a a
b a c c
c d d b
d c b d
我想使用这种规模转换:A = 1,B = 2,C = 3,d = 4。 所以,我得到这样的:
c1 c2 c3 c4
1 4 1 1
2 1 3 3
3 4 4 2
4 3 2 4
这是我想出了:
for(i in colnames(df)){
df$i = gsub("a", 1, df$i)
df$i = gsub("b", 2, df$i)
df$i = gsub("c", 3, df$i)
df$i = gsub("d", 4, df$i)
}
但它不工作。我应该在这里使用gsub,还是有更简单的方法来做到这一点?
类似下面的答案,如果你的关键是不连续的,你可以把你自己的'键<做 - C(“A” =“1”,“B '='2','c'='3','d'='4'); df [] < - key [as.matrix(df)]' – rawr 2014-12-07 04:13:24