gpt4 book ai didi

R - 用于创建包含来自另一个数据框的操作数据的数据框的函数

转载 作者:行者123 更新时间:2023-12-02 03:46:30 25 4
gpt4 key购买 nike

大家好,我是 R 的新手,有一个问题。我有一个 data.frame (df),其中包含 1960 年至 2012 年间大约 100 个不同国家/地区的大约 30 种不同类型的统计数据。这是它的外观示例:

     Country      Statistic.Type     1960      1961      1962      1963 ...  2012 
__________________________________________________________________________________
1 Albania Death Rate 10 21 13 24 25
2 Albania Birth Rate 7 15 6 10 9
3 Albania Life Expectancy 8 12 10 7 20
4 Albania Population 10 30 27 18 13
5 Brazil Death Rate 14 20 22 13 18
6 Brazil Birth Rate ...
7 Brazil Life Expectancy ...
8 Brazil Population ...
9 Cambodia Death Rate ...
10 Cambodia Birth Rate ... etc...

请注意,总共有 55 列,53 年列中每一列的值都是为了本题的目的而编造的。

我需要帮助编写一个函数,该函数将国家和统计类型作为输入并返回一个新的 data.frame,其中包含 2 列,显示给定国家和统计类型的年份和每年的值。例如,如果我在函数中输入 country=Brazil 和 statistic.type=Death Rate,新的 data.frame 应该如下所示:

     Year    Value 
_____________________
1 1960 14
2 1961 20
3 1962 22
...
51 2012 18

我不知道该怎么做,如果有人能给我任何想法/代码/安装包,那将非常有帮助。

非常感谢!

最佳答案

如果 df 是您的 data.frame,您只需要:

f <- function(country, statistic.type, data=df)
{
values <- data[data$Country==country & data$Statistic.Type==statistic.type,-(1:2)]

cbind(Year=names(df)[-(1:2)], Value=values)
}

用作

f(country="Brazil", statistic.type="Death Rate")

关于R - 用于创建包含来自另一个数据框的操作数据的数据框的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16627280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com