【发布时间】:2017-12-22 19:27:13
【问题描述】:
我正在分析一个数据集,并创建了一个函数来总结我的大部分列。我的脚本的目标是自动创建和提取汇总表(或多或少的数据框)。
为了尽可能概括,我想将一个字符串传递给我的函数,用于命名列、行、文件等。
我目前的工作:
NameFun <- function(df, name) {
##Name the first column
colnames(df)[1] <- "name"
##Write DF to Excel Workbook
write.xlsx(df, "Workbook.xlsx", sheetName = "name",
col.names = TRUE, row.names = TRUE, append = TRUE)
}
这里的目标是输入一个字符“名称”并在函数中使用它。我试过“eval”、“assign”和“get”,但都没有成功。我尝试了其他一些尝试,但要么 R 在环境中无法识别它,要么什么都不做,要么拒绝一起传递一个字符的想法。
我愿意接受任何其他解决方案,以帮助进一步概括我的脚本。每列都有一个唯一的名称,但报告的列数和指标类型相同。理想情况下,我可以将每列的列表传递给函数并循环遍历整个数据集。
谢谢!
-J
【问题讨论】:
-
不要在函数体内引用
name,因为它是一个参数——引用它会导致它被解释为字符串"name",而不是变量name跨度> -
不要使用
"name",而是使用name,因为这是一个变量 -
不幸的是,这并不能解决问题。取出引号并将变量传递给函数不会产生任何结果;该功能不做任何事情。向传递的变量添加引号会引发此错误:
-
colnames(df)[1] 中的错误
标签: r