我有长格式的数据,我需要有选择地移动到宽格式。
这是我拥有的和我需要的示例
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
关于将长数据 reshape 为多个宽列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70841988/