问题描述
我想用 Gather 功能整理我的数据,但如何一次指定多列?
I want to tidy my data with the gather function but how do I specify multiple columns at once?
说这是我的数据:
Country Country.Code Year X0tot4 X5tot9 X10tot14 X15tot19 X20tot24
1 Viet Nam 704 1955 4606 2924 2389 2340 2502
2 Viet Nam 704 1960 5842 4410 2860 2356 2318
3 Viet Nam 704 1965 6571 5646 4328 2823 2335
4 Viet Nam 704 1970 7065 6391 5548 4271 2797
5 Viet Nam 704 1975 7658 6862 6237 5437 4208
6 Viet Nam 704 1980 7991 7473 6754 6113 5266
7 Viet Nam 704 1985 8630 7855 7375 6657 6027
8 Viet Nam 704 1990 9212 8513 7770 7277 6571
9 Viet Nam 704 1995 9200 9099 8447 7702 7140
10 Viet Nam 704 2000 7245 9119 9053 8402 7610
11 Viet Nam 704 2005 6760 7140 8997 8951 8257
12 Viet Nam 704 2010 7277 6657 7015 8891 8775
13 Viet Nam 704 2015 7753 7233 6623 6982 8817
现在我想用 X0tot4
到 X20tot24
的变量创建一个新列 Age.groups
.
Now I want to create one new column Age.groups
with the variables from X0tot4
to X20tot24
.
类似于df %>% gather(key = "Age.group", value = c(4:8))
.控制台说这不是正确的列规范.但什么是?
Something like df %>% gather(key = "Age.group", value = c(4:8))
. Console says this is not the right column specification. But what is?
推荐答案
gather
函数中,value
指定结果中value列的名称;要指定要收集哪些列,您可以使用start_column:end_column
语法,这将收集从 start_column 到 end_column;在您的情况下,它将是 X0tot4:X20tot24
:
In the gather
function, value
specifies the name of value column in the result; To specify which columns to gather, you can use start_column:end_column
syntax, this will gather all columns from the start_column to end_column; In your case, it would be X0tot4:X20tot24
:
df %>% gather(key = 'Age.group', value = 'Value.name', X0tot4:X20tot24)
# V V
# V V
# V V
# Country Country.Code Year Age.group Value.name
#1 Viet Nam 704 1955 X0tot4 4606
#2 Viet Nam 704 1960 X0tot4 5842
#3 Viet Nam 704 1965 X0tot4 6571
#4 Viet Nam 704 1970 X0tot4 7065
#5 Viet Nam 704 1975 X0tot4 7658
#6 Viet Nam 704 1980 X0tot4 7991
#7 Viet Nam 704 1985 X0tot4 8630
这篇关于如何使用gather()函数指定多列来整理数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!