两列(和重命名列)的tidyr排列值
我正试图建立代码从,我很抱歉,如果这是多余的其他职位,并将感谢被指向这些职位,如果他们在那里两列(和重命名列)的tidyr排列值,r,dplyr,mutate,spread,R,Dplyr,Mutate,Spread,我正试图建立代码从,我很抱歉,如果这是多余的其他职位,并将感谢被指向这些职位,如果他们在那里 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)) c
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
我意识到我想要的输出将导致更多的NAs行,就像上面的排列一样,但这没关系 在按“类别”创建序列列后,我们可以使用
pivot\u wide
。由于pivot\u更宽
可以从列中获取多个value\u,并将其作为向量传递,可以是带引号的,也可以是不带引号的
library(dplyr)
library(tidyr)
example %>%
group_by(category) %>%
mutate(rn = row_number()) %>%
ungroup %>%
pivot_wider(names_from = category, values_from = c(value1, value2))
# A tibble: 3 x 7
# rn value1_a value1_b value1_c value2_a value2_b value2_c
# <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 1 1 2 3 10 20 30
#2 2 4 5 6 40 50 60
#3 3 7 8 9 70 80 90
库(dplyr)
图书馆(tidyr)
示例%>%
组别(类别)%>%
变异(rn=行数())%>%
解组%>%
枢轴(名称从=类别,值从=c(值1,值2))
#一个tibble:3x7
#rn值1_a值1_b值1_c值2_a值2_b值2_c
#
#1 1 1 2 3 10 20 30
#2 2 4 5 6 40 50 60
#3 3 7 8 9 70 80 90
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
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
library(dplyr)
library(tidyr)
example %>%
group_by(category) %>%
mutate(rn = row_number()) %>%
ungroup %>%
pivot_wider(names_from = category, values_from = c(value1, value2))
# A tibble: 3 x 7
# rn value1_a value1_b value1_c value2_a value2_b value2_c
# <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 1 1 2 3 10 20 30
#2 2 4 5 6 40 50 60
#3 3 7 8 9 70 80 90
library(dplyr)
library(tidyr)
example %>%
pivot_wider(names_from = category,
values_from = c(value1, value2)) %>%
unnest()