我尝试编写几个表来计算数据帧中不同列上的colMeans。该功能正常,但命名是一个问题:
function.test<-function(a,b,df)
{for (i in a:b)
write.table(
as.data.frame(
lapply(
split(df, df[,i]), colMeans)
),
file=paste("E:\\R\\Outputs\\colMeans",deparse(i),deparse(df),".csv"
),
sep=",",row.names=T,col.names=NA
)
}
只有“我”才能正常工作但是“df”不能正常工作。我收到了以下错误消息:
Error in file(file, ifelse(append, "a", "w")) :
invalid 'description' argument
In addition: Warning message:
In if (file == "") file <- stdout() else if (is.character(file)) { :
the condition has length > 1 and only the first element will be used
我想这就是因为“i”随循环变化而df始终保持不变。有谁知道如何用i和df命名它。因为如果不是,我将不得不为每个数据帧编写一个单独的函数,这将是很多代码......
答案 0 :(得分:0)
好的试验和错误帮助了这一次:
deparse(i),deparse(substitute(df))