对不起,因为这个问题已被问到几个次,但我仍然无法解决这个问题。在R列中将多列分布在列上
所以我有一个数据帧的形式:
ID Val Type
1 10 A
2 11 A
2 10 C
3 10 B
3 12 C
4 9 B
这不是太大的帮助,但你可以使用
library(tidyr)
test <- data.frame(ID = c(1,2,2,3,3,4),
Val = c(10,11,10,10,12,9),
Type = c('A', 'A', 'C', 'B', 'C', 'B'))
我想分割它获得:
ID A.Type B.Type C.Type A.Val B.Val C.Val
1 1 0 0 10 0 0
2 1 0 1 11 0 10
3 0 1 1 0 10 12
4 0 0 0 0 9 0
我知道如何获得专栏1:4
使用:
table(test[, c(1, 3)]) %>% as.data.frame() %>% spread(Type, Freq)
这是过去三年我需要因为在实际的数据帧值是连续的,不能使用table
帮助。
'传播(试验,型式,缬氨酸)'? – Axeman
我意识到这是一个可怕的问题,它确实值得被低估。调用这些绝望的时间...... – aayush