全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2837 6
2019-08-18
各位大神好!

我目前的问题是,想给test1~test10的数据框统一重命名列的标题,所有数据框都是11列。
标题也已经通过其它方式计算好,是test_name变量,长度也是11。

逐一实现的话,代码应该是:
names(test1) <- test_name
names(test2) <- test_name
...
names(test10) <- test_name

我写的循环代码是:

for (i in 1:10)
{
  names(paste("test", i, sep="") <- test_name
}


但是显示“target of assignment expands to non-language object”,请问该如何修改呢?刚刚入门,在其他地方也没有找到解决方法,希望能得到大神指教,十分感谢!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-8-19 02:54:30
paste("test", i, sep="")是character,不是object,所以错了

解决方法

for (i in 1:10)
{
  tmp <- get(paste("test", i, sep=""))
  names(tmp) <- test_name
  assign(paste("test", i, sep="") ,tmp)
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-21 15:00:33
明白了,非常感谢您的回答!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-21 15:00:54
katymeala 发表于 2019-8-19 02:54
paste("test", i, sep="")是character,不是object,所以错了

解决方法
明白了,非常感谢您的回答!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-21 15:12:45
katymeala 发表于 2019-8-19 02:54
paste("test", i, sep="")是character,不是object,所以错了

解决方法
还想打扰您一下,如果我写成:

for (i in 1:10)
{
  names(get(paste("test", i, sep=""))) <- test_name
}

这样是不是也可以呢? 十分感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-8-21 21:19:25
hmy112233 发表于 2019-8-21 15:12
还想打扰您一下,如果我写成:

for (i in 1:10)
不行,只是调用了object的内容,object本身没有改
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群