2015-07-13 104 views
0

我想打一个函数来保存数据帧,所以编码如下:我怎样才能使一个函数来保存数据帧

save<-function(x) 
{ 
write.table(x, file=paste(x,"csv", sep=".")) 
write.table(x, file=paste(x,"txt", sep=".")) 
} 

,但我得到的错误:

save(summary1) 

错误(file,ifelse(append,“a”,“w”)): 无效的'description'参数 另外:警告信息: if(文件==“”)文件< - stdout()else if (is.character(file)){: 条件长度> 1且仅使用第一个元素

有什么不对?

回答

1

你的文件名是不是一个字符串,它看起来像你的文件名是粘贴整个数据帧作为一个字符串与“CSV”一起尝试(在paste(x, 'csv', ...),这是因为x是一个数据框,而不是一个字符串,所以R的抱怨,因为它是不知道如何将整个数据帧转换为一个字符串。

如果你想将文件保存为“x.csv”只是做file="x.csv"

如果你希望用户能够指定你可以做的文件名:

save<-function(x, fname) 
{ 
write.table(x, file=paste(fname,"csv", sep=".")) 
write.table(x, file=paste(fname,"txt", sep=".")) 
} 
save(summary1, "summary") # saved as summary.csv 
+0

最后它的作品!非常感谢!!! :d –

相关问题