鉴于
classifications.factor <- factor(c('x','x','x','y','y','y','z','z','z')) ;
questions.factor <- factor(c('a','b','c','a','b','c','a','b','c')) ;
answers.vector <- c(1,2,3,4,2,3,1,2,3) ;
result.data.frame = data.frame( classifications.factor, questions.factor, answers.vector ) ;
colnames(result.data.frame) <- c('c','q','a') ;
result.data.frame ;
返回
c q a
1 x a 1
2 x b 2
3 x c 3
4 y a 4
5 y b 2
6 y c 3
7 z a 1
8 z b 2
9 z c 3
什么命令可以将结果变成类似
的结果 c.x q.x a.x c.y q.y a.y c.z q.z a.z
1 x a 1 y a 4 z a 1
2 x b 2 y b 2 z b 2
3 x c 3 y c 3 z c 3
?
答案 0 :(得分:3)
可以使用base R
do.call(cbind,split(result.data.frame, result.data.frame$c))
# x.c x.q x.a y.c y.q y.a z.c z.q z.a
#1 x a 1 y a 4 z a 1
#2 x b 2 y b 2 z b 2
#3 x c 3 y c 3 z c 3