在R

时间:2017-12-22 19:27:13

标签: r

我正在分析数据集,并创建了一个汇总我的大多数列的函数。我的脚本的目标是自动创建和提取摘要表(或多或少的数据帧)。

为了尽可能地概括,我想将一个字符串传递给我的函数,用于命名列,行,文件等。

我目前正在处理的事情:

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

1 个答案:

答案 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))