這裏的一個數據幀我正在使用:轉換一個數據幀爲數值數據幀中的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