将长数据重塑为多个宽列
Reshape long data to multiple wide columns
我有长格式的数据,需要有选择地转换为宽格式。
这是我所拥有的和我需要的例子
Rating <- c("Overall","Overall_rank","Total","Total_rank")
value <- c(6,1,5,2)
example <- data.frame(Rating,value)
创建如下所示的数据:
Rating value
Overall 6
Overall_rank 1
Total 5
Total_rank 2
但是,我希望我的数据看起来像:
我尝试了 pivot_wider
,但似乎无法获取。
这是否适合您的实际情况?
我认为混淆源于将第 1 列称为“评级”,而实际上“评级”值(据我所知)包含在第 1 行和第 3 行中。
example %>%
separate(Rating, sep = "_", into = c("Category", "type")) %>%
mutate(type = replace(type, is.na(type), "rating")) %>%
pivot_wider(names_from = type, values_from = value)
Category rating rank
<chr> <dbl> <dbl>
1 Overall 6 1
2 Total 5 2
我有长格式的数据,需要有选择地转换为宽格式。
这是我所拥有的和我需要的例子
Rating <- c("Overall","Overall_rank","Total","Total_rank")
value <- c(6,1,5,2)
example <- data.frame(Rating,value)
创建如下所示的数据:
Rating value
Overall 6
Overall_rank 1
Total 5
Total_rank 2
但是,我希望我的数据看起来像:
我尝试了 pivot_wider
,但似乎无法获取。
这是否适合您的实际情况?
我认为混淆源于将第 1 列称为“评级”,而实际上“评级”值(据我所知)包含在第 1 行和第 3 行中。
example %>%
separate(Rating, sep = "_", into = c("Category", "type")) %>%
mutate(type = replace(type, is.na(type), "rating")) %>%
pivot_wider(names_from = type, values_from = value)
Category rating rank
<chr> <dbl> <dbl>
1 Overall 6 1
2 Total 5 2