【发布时间】:2020-02-04 19:03:14
【问题描述】:
我正在尝试构建来自 R - tidyr - mutate and spread multiple columns 的代码,如果这与其他帖子多余,我很抱歉,如果它们在那里,我将不胜感激!
example <- data.frame(category = c("a", "b", "c", "a", "b", "c", "a", "b", "c"),
value1 = c(1,2,3,4,5,6,7,8,9),
value2 = c(10,20,30,40,50,60,70,80,90))
category value1 value2
1 a 1 10
2 b 2 20
3 c 3 30
4 a 4 40
5 b 5 50
6 c 6 60
7 a 7 70
8 b 8 80
9 c 9 90
我了解如何调整它以从 value1 或 value2 获取值
example %>%
spread(category, value1)
value2 a b c
1 10 1 NA NA
2 20 NA 2 NA
3 30 NA NA 3
4 40 4 NA NA
5 50 NA 5 NA
6 60 NA NA 6
7 70 7 NA NA
8 80 NA 8 NA
9 90 NA NA 9
但我愿意
-
改变类别列的名称以反映 1 和 2 值,因此每个类别有两列
- 根据
values_from=value1或value2填充列值
- 根据
a_v1 a_v2 b_v1 b_v2 c_v1 c_v2
1 10 2 20 3 30
4 40 5 50 6 60
7 70 8 80 9 90
我意识到我想要的输出会导致更多行带有 NA,就像上面的展开一样,但这没关系!
【问题讨论】: