3
我想長的數據格式轉換成寬的數據形式R. 舉例來說,我有以下的數據幀:轉換長數據幀到寬的數據幀
a = rep(c("A","B","C","D"),4)
b = rep(c("COL1","COL2","COL3","COL4"),4)
val = 101:116
df = as.data.frame(cbind(a,b,val))
df
我想看到的結果作爲:
row <- as.list(levels(df$a))
col <- as.list(levels(df$b))
test <- data.frame()
i = 1
for (j in 1:4) {
for(k in 1:4){
test[j,k] = df$val[i]
i = i + 1
}
}
colnames(test) <- c("COL1","COL2","COL3","COL4")
rownames(test) <- c("A","B","C","D")
test
希望如果你可以建議一個優雅的解決方案,使用一些方便的功能。 謝謝, 卡西姆