【发布时间】:2020-10-06 03:00:20
【问题描述】:
我从一个包含 5 列的数据框开始:一个处理列 T_type 和四个结果变量列 A、B、C 和 D。我正在尝试堆叠结果变量,所以我最终一列是值,另一列是四个结果变量的名称,然后是一列,其中治疗名称沿着堆叠的列向下重复。这是 relig_income 示例中 pivot_longer 的 R 帮助页面中显示的内容,并且几乎是 Jason 在这里尝试做的:dplyr `pivot_longer()` object not found but it's right there?
Jason 在使用 pivot_longer 时遇到了同样的错误,但不知道为什么。这就是正在发生的事情。
dd <- as.data.frame(matrix(rpois(32, 4), nrow = 8))
names(dd) <- LETTERS[1:4]
dd <- data.frame(dd, T_type = rep(c("M", "P"), each = 4))
dd
A B C D T_type
1 3 5 5 4 M
2 7 5 2 2 M
3 2 3 3 10 M
4 3 3 2 3 M
5 8 3 4 3 P
6 4 4 5 1 P
7 6 4 2 6 P
8 9 4 3 6 P
所以现在我试试pivot_longer。
dd %>% pivot_longer(-T_type, cols = A:D, names_to = "response", values_to = "y_obs")
Error in build_longer_spec(data, !!cols, names_to = names_to, values_to = values_to, :
object 'T_type' not found
重新排列 dd 中的列,以便 T_type 在 A 到 D 列之前没有帮助。
如果有人能告诉我这里发生了什么以及如何让 pivot_longer 完成这项工作,我将不胜感激。
【问题讨论】: