将行转换为采用一个变量名称的列

问题描述

我有一个这样的数据集 df

df <- as.data.frame(matrix(c(1,1,2,2020,3,6,"Spain","France","Germany","Japan",40,5,200,98,300,19,4,11),ncol = 6))
names(df) <- c('ID','year','month','country','buy','sell')

我要转换 df 。保留 ID 作为参考变量,并基于国家/地区,我正在尝试将行转换为新行变量,方法如下: df_modified

df_modified <- as.data.frame(matrix(c(1,"NA",ncol = 9))
names(df_modified) <- c('ID','buy_Spain','sell_Spain','buy_France','sell_France','buy_Germany','sell_Germany')

我尝试过:

library(reshape2)
df_modified <- dcast(df,id+year+month ~ country)

但是它并不能解决问题。

注意:数字变量是我原始数据集中的数字(国家/地区是字符等)。

有任何线索吗?

致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)