r - 根据字符串向量更改数据框的名称
问题描述
我正在从一个目录中读取几个 excel 文件,我希望读取的数据帧根据字符串向量动态命名
我有一个包含国家名称的字符串向量
cnts <- c("de", "ar", "fr")
然后我读了一个excel文件,它的路径已经存储在一个向量(文件)中
df <- read.xlsx(file[1], 1)
现在我想将df重命名为国家向量中的第一个元素,所以我这样做了
cnts[1] <- df
但这不起作用并给我一个错误
在 cnts[2] <- df 要替换的项目数不是替换长度的倍数
我希望将 df 重命名为 de 我知道问题所在,它试图将整个 df 写入位置 1 的字符串向量,但是如何动态重命名数据帧?
解决方案
cnts[1] <- df
表示您尝试将数据帧存储在长度为 1 的字符串中"de" <- df
。
您可以使用assign
,您必须阅读为什么使用分配不好
cnts <- c("de", "ar", "fr")
df <- data.frame(a=1:5)
assign(cnts[1], df)
de
更好的做法是使用大小列表cnts
并将数据框影响到列表的正确元素。
推荐阅读
- python - 在 Python 中使用 urllib 从网页中仅下载文本(而不是图像)
- excel - Excel if 或查询多个选项
- java - Java RPG 游戏:字体加载器不会加载 FontFile .ttf(未找到文件)
- github - 无法使用 Gitbash 在 Github 上推送我的代码
- bixby - 结果的音频支持
- webpack - Webpack 无法导入图片
- java - 在firebase实时数据库中保存子类
- postgresql - 有活动连接时删除数据库
- typescript - 我是否将 tsconfig.json 发布到 NPM?
- asp.net-mvc-5 - 带有参数的 RedirectToAction 到 Post Action ASP.Net MVC