r - 在使用包含其名称的字符串引用数据框时更改数据框列名称
问题描述
我想在 中更改数据框的列名 R
,同时使用包含数据框名称的字符串来引用它。但是,我的尝试失败了:
> dataframe <- data.frame(c(1,2), c(3,4))
> dfname <- "dataframe"
> colnames(get(dfname))
[1] "c.1..2." "c.3..4."
> colnames(get(dfname)) <- c("col1", "col2")
Error in colnames(get(dfname)) <- c("col1", "col2"):
could not find function "get<-"
如何使此示例正常工作并更改dataframe
仅使用时的列名dfname
?
解决方案
Try this:
eval(substitute(x <- setNames(x,c("col1", "col2")),list(x=as.name(dfname))))
dataframe
# col1 col2
# 1 1 3
# 2 2 4
推荐阅读
- ihp - 一对零或一关系
- random-forest - 在 XG 提升中,树是否会继续增长,直到叶子节点是纯的?
- asp.net-core - .NET Core 创建新产品 - 结果始终是 Product {Id: -2147482647}
- python - asyncio.Lock() 不提供互斥
- unity3d - 是否可以使用文本将 Debug.Log 中打印的任何内容显示到场景中?
- arrays - 如何在swift中全局更改struct中的值
- python - numpy.resize(image,(IMG_HEIGHT,IMG_WIDTH,3)) 中的 3 是什么?
- svg - 在 JointJS 中创建绕过障碍物的平滑链接
- python - R基准测试包:-XREF [,h]中的错误:一元运算符的参数无效
- python - 如何获取kivy中按下的按钮的ID?