基本上我需要做的是将我的国家变量转换为人均值,即将所有值除以国家的人口。
所以我有df
:
country <- c("A","B","C","D")
income <- c(10,20,30,40)
cars <- c(100,200,300,400)
df <- data.frame(country,income,cars)
我希望按dfpop$pop
pop <- c(1,2,3,4)
dfpop <- data.frame(country,pop)
任何想法?
答案 0 :(得分:3)
由于每个国家/地区只有一个观察点,因此不需要汇总数据,只需使用df/variable
进行划分
考虑到@lselzer上面指出的合并,您可以尝试:
DF <- merge(df, dfpop)
DF[,-c(1,4)]/DF[,4]
income cars
1 10 100
2 10 100
3 10 100
4 10 100
但也没有使用merge
:
df[,-1]/pop
income cars
1 10 100
2 10 100
3 10 100
4 10 100
使用merge
的优势是匹配国家/地区名称,这将确保您将国家A
的每个变量除以国家A
的人口。第二种方法不能确保国家变量的匹配,因此您必须小心使用这种方法。