【发布时间】:2017-04-09 01:15:48
【问题描述】:
我是 R 新手,所以请原谅这个基本问题。
这是a Dropbox link 我的数据的 .csv。
我有 1990-2010 年的国家数据。我的数据很宽:每个国家都是一行,每年有两列对应两个数据源。但是,某些国家/地区的数据并不完整。例如,一个国家行可能在 1990-1995 列中有 NA 值。
我想创建两列,对于每个国家/地区行,我希望这些列中的值是两种数据类型中最早的非 NA 值。
我还想创建另外两个列,对于每个国家/地区行,我希望这些列中的值是两个数据中最早的非 NA year类型。
所以最后四列会是这样的:
1990, 12, 1990, 87
1990, 7, 1990, 132
1996, 22, 1996, 173
1994, 14, 1994, 124
这是我对嵌套 for 循环的粗略半伪代码尝试:
for i in (number of rows){
for j in names(df){
if(is.na(df$j) == FALSE) df$earliest_year = j
}
}
如何生成这些所需的四列?谢谢!
【问题讨论】: