本文介绍了如何使用gather()函数指定多列来整理数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用 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

现在我想用 X0tot4X20tot24 的变量创建一个新列 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_columnend_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()函数指定多列来整理数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 16:21