我是R的新手,我很确定这很容易实现,但我无法弄清楚如何执行此操作 . 我已经尝试了使用for循环的split函数,但是无法弄清楚如何正确使用它 . 例如,这就是我原始数据框的样子:
dat <- data.frame(col1 = c(rep("red", 4), rep("blue", 3)), col2 = c(1, 3, 2, 4, 7, 8, 9))
col1 col2
red 1
red 3
red 2
red 4
blue 7
blue 8
blue 9
我想为col1中的每个唯一值创建新列,并将它在col2中的corressponding值分配给新数据框 . 这就是我想要的新数据框架:
red blue
1 7
3 8
2 9
4 NA
我已经接近了一个接近我想要的列表结构,但我需要一个数据框来进行boxplot和dotplot结果 . 任何帮助都会得到满足 . 谢谢!
3 回答
我确信这是一个更有效的解决方案,但这里有一个选择
编辑:如果您希望列顺序为红色,则为蓝色
这是一个Hadleyverse可能的解决方案
或使用
data.table
只是为了显示使用基础R
*apply
和cbind
的另一个选项