我正在分析数据集,并创建了一个汇总我的大多数列的函数。我的脚本的目标是自动创建和提取摘要表(或多或少的数据帧)。
为了尽可能地概括,我想将一个字符串传递给我的函数,用于命名列,行,文件等。
我目前正在处理的事情:
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)
}
这里的目标是输入一个字符“name”并在函数中使用它。我试过“eval”,“assign”和“get”没有运气。我尝试过其他一些尝试,但是R在环境中不识别它,什么都不做,或者拒绝将角色全部传递出去的想法。
我对任何其他解决方案持开放态度,以帮助更广泛地概括我的脚本。每列都有一个唯一的名称,但报告的列数和指标类型相同。理想情况下,我可以将每列的列表传递给函数,并将其循环遍历整个数据集。
谢谢!
-J
答案 0 :(得分:0)
你可能会这样做:
#Initialize a list to hold your results
ll<-list()
# You can run a loop or run it multiple times to generate your summary
ll[[name]]<-summary_Method(...) # Or pass the df
NameFun<-function(name, ll, df){
ll[[name]]<-df
}
# Write the list of dataframe to excel file.
lapply(names(ll), function(x) write.xlsx(ll[[x]], 'Workbook.xlsx', sheetName=x, append=TRUE))