使用R

时间:2016-02-02 22:05:28

标签: r dataframe

我正在尝试将数据从一个数据帧传输到另一个数据帧。我想将一个巨大的数据框中的所有8列复制到一个较小的数据框,并将列命名为n1,n2等。

首先,我尝试使用此

查找需要复制的列号
x=as.numeric(which(colnames(old_df)=='N1_data'))

然后我以这种方式将其粘贴到新的数据框中

new_df[paste('N',1:8,'new',sep='')]=old_df[x:x+7]

但是,当我运行它时,所有新的8列都具有完全相同的数据。但是,如果我直接使用x的值,那么我得到我想要的东西

new_df[paste('N',1:8,'new',sep='')]=old_df[10:17]

所以我的问题是

  • 为什么我无法使用变量x。我添加了as.numeric只是为了确保它不是列表中的数字。但是,这似乎没有帮助。
  • 有没有更好或更有效的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你可能会过度思考这个问题。

MessagesController