我想在一个数据框中做一个简单的操作。数据框包含几个变量,对应于用三个字母编码表示的国家。我想增加或减少这些特定国家的变量值。
有一个类似的问题问here。但是,在这种情况下,值是字符串。
例如,假设我有以下 Dataframe :
set.seed(10)
a <- data.frame(country = rep(c("aaa" , "bbb" , "ccc") , times = 3) ,
year = rep(c(1990 , 1991 , 1992), each = 3) ,
c = sample(9))
给出:
country year c
1 aaa 1990 9
2 bbb 1990 2
3 ccc 1990 4
4 aaa 1991 6
5 bbb 1991 3
6 ccc 1991 7
7 aaa 1992 5
8 bbb 1992 1
9 ccc 1992 8
例如,我想在对应于“aaa”的每个国家加上5,给出:
country year c
1 aaa 1990 14
2 bbb 1990 2
3 ccc 1990 4
4 aaa 1991 11
5 bbb 1991 3
6 ccc 1991 7
7 aaa 1992 10
8 bbb 1992 1
9 ccc 1992 8
有没有一个高效的代码来做到这一点?我很感激任何帮助。
1条答案
按热度按时间vmdwslir1#
这里是一个两步基地R的方式。
一句俏皮话应该是
编辑
如果列
country
缺少值,NA
,则使用或与等效的单线连接。