【发布时间】:2016-05-11 16:03:13
【问题描述】:
我有兴趣在 R 中重新安排 data.frame。请耐心等待,我偶然发现了一个可重现的示例。
我有一个名义变量,它可以有两个值之一。目前,这个名义变量是一列。相反,我想有两列,代表这个名义变量可以有的两个值。这是一个示例数据框。 S 是标称变量,值为 T 和 C。
n <- c(1,1,2,2,3,3,4,4)
s <- c("t","c","t","c","t","c","t","c")
b <- c(11,23,6,5,12,16,41,3)
mydata <- data.frame(n, s, b)
我宁愿有一个看起来像这样的数据框
n.n <- c(1,2,3,4)
trt <- c(11,6,23,41)
cnt <- c(23,5,16,3)
new.data <- data.frame(n.n, trt, cnt)
我确信有一种方法可以使用mutate 或tidyr,但我不确定最佳路线是什么,而且我想重新排列的数据框很大。
【问题讨论】:
-
看起来
tidyr可以用来做spread(mydata, s, b)以获得你想要的东西。我错过了什么吗?