相关疑难解决方法(0)

用tidyr传播两列数据帧

我有一个如下所示的数据框:

  a b
1 x 8
2 x 6
3 y 3
4 y 4
5 z 5
6 z 6
Run Code Online (Sandbox Code Playgroud)

我想把它变成这个:

  x y z
1 8 3 5
2 6 4 6
Run Code Online (Sandbox Code Playgroud)

但是打电话

library(tidyr)
df <- data.frame(
    a = c("x", "x", "y", "y", "z", "z"),
    b = c(8, 6, 3, 4, 5, 6)
)
df %>% spread(a, b)
Run Code Online (Sandbox Code Playgroud)

回报

   x  y  z
1  8 NA NA
2  6 NA NA
3 NA  3 NA
4 NA  4 NA
5 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr

12
推荐指数
4
解决办法
1011
查看次数

固化融化的数据框?

假设我有一个data.frame看起来像这样的融化:

  variable       value
1         A -0.19933093
2         A -1.19043346
3         A -1.32248172
4         A -1.98644507
5         A -0.07930953
6         B -0.10074686
7         B  0.72451483
8         B -0.40914044
9         B  0.02913376
10        B  0.16062491
Run Code Online (Sandbox Code Playgroud)

我如何得到它:

  A       B
-0.19933093 -0.10074686
-1.19043346  0.72451483
-1.32248172 -0.40914044
-1.98644507  0.02913376
-0.07930953  0.16062491
Run Code Online (Sandbox Code Playgroud)

看起来微不足道,但我在回答是空白.dcast而且acast似乎没有这样做.我的目标是在较大的数据集上执行此操作,并将最终产品转换为a matrix,列名称为变量名称.我尝试玩(daplylaply融化前)没有太多运气.

r reshape2

6
推荐指数
1
解决办法
325
查看次数

标签 统计

r ×2

dplyr ×1

reshape2 ×1

tidyr ×1