2015-07-13 145 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 –

相關問題