[英]transform employment data in R - from wide to long
I have the following data我有以下数据
employed_male; unemployed_male; inactive_male; employed_female; unemployed_female; inactive_female;
i want to change it to我想把它改成
gender; status; value
For example:例如:
employed_male; unemployed_male; inactive_male; employed_female; unemployed_female; inactive_female;
5; 4; 6; 7; 3; 1;
will be将会
gender; status; value
male; employed; 5
male; unemployed; 4
male; inactive; 6
female; employed; 7
female; unemployed; 3
female; inactive; 1
Do you know, which library or approach is best to achieve this result?你知道,哪个库或方法最能达到这个结果?
Using pivot_longer
you can use:使用
pivot_longer
你可以使用:
tidyr::pivot_longer(df,
cols = everything(),
names_to = c('status', 'gender'),
names_sep = '_')
# status gender value
# <chr> <chr> <int>
#1 employed male 5
#2 unemployed male 4
#3 inactive male 6
#4 employed female 7
#5 unemployed female 3
#6 inactive female 1
data数据
df <- structure(list(employed_male = 5L, unemployed_male = 4L,inactive_male = 6L,
employed_female = 7L, unemployed_female = 3L, inactive_female = 1L),
row.names = c(NA, -1L), class = "data.frame")
tidyr::pivot_longer()
is a good choice. tidyr::pivot_longer()
是一个不错的选择。 See this section of the documentation .请参阅文档的这一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.