我有一個關於以txt或excel格式保存數據幀的問題。我在爲r的數據幀,但是當我將它保存:使用write.table()
功能如何將數據幀保存在由列分隔的txt或excel文件中
- 首先,當我打開比如在Excel中保存的數據幀,所有列在一列編組,你必須separe的列Excel有丟失數據的風險。
write.csv()
功能也一樣。
是否可以將所有列分隔的數據框保存在R中。謝謝。
我有一個關於以txt或excel格式保存數據幀的問題。我在爲r的數據幀,但是當我將它保存:使用write.table()
功能如何將數據幀保存在由列分隔的txt或excel文件中
write.csv()
功能也一樣。是否可以將所有列分隔的數據框保存在R中。謝謝。
你應該可以用write.csv()
來做到這一點。
這是一個適用於我的機器的例子。我創建了一個data.frame
,用write.csv
保存它,然後在Excel中打開它而沒有問題。
a <- 1:5
b <- 6:10
c <- 11:15
df <- data.frame(a,b,c)
write.csv(df, 'test2.csv')
您可能正在保存的文件是正常的,您只是將其加載到Excel中不正確(很難確切知道沒有例子)。當您導入到Excel中時,可以指定分隔符和其他選項。您還可以通過在write.table
中設置一些選項來簡化流程。同時檢查您的區域設置,默認分隔符可能會有所不同,具體取決於您的計算機是否認爲它位於歐洲(或某些國家)或美國(或某些其他國家/地區),可能是您的R版本和您的Excel版本不同意你所在的區域(以及因此使用哪個分隔符)。
您可能還想看看XLConnect包,它將直接創建excel文件,而無需通過文本文件。 (還有一些其他軟件包也可以寫入excel文件,但XLConnect是我擁有最佳體驗的軟件包)。
快速傳輸數據幀或矩陣擅長另一種選擇(至少在Windows上,不知道這是否適用於其他操作系統的)是使用寫表file="clipboard"
和sep="\t"
,然後在Excel窗口點擊單元格,然後做「粘貼」,數據將通過剪貼板而不是文件在Excel中。
write.table
的默認分隔符是單個空格。雖然.txt
通常用於表示電子表格,但它確實表明它是一個文本文件。如果你想要的是一個.tsv
,或者一個帶有製表符分隔值的文件,那麼你可以試試write.table(x,sep="\t")
。這將製表符分隔您的文件,並且當您嘗試打開文件時,excel應該選擇該文件。我真的很推薦贈送?write.table
(和?read.table
而我們在這裏)很好的閱讀。因爲真的,即使你的代碼是完美的,如果你讀寫數據的方式不當,那有什麼意義呢?
我最喜歡的方式來實現這一點(因爲我經常需要共享R中處理與非-R用戶的數據幀,也方便他們只需雙擊並讓它在Excel中很好地打開)是:
write.table(x,"filename.txt",sep="\t",row.names=FALSE)
如上所述sep="\t"
參數選項卡分隔您的文件,但我認爲除非需要,刪除行名也是有用的。
以下使用
安裝。包(openxlsx) 庫(openxlsx)
write.xlsx(數據幀, 「C:/Users/santoshr/Desktop/export10.xlsx」,SHEETNAME = 「Sheet 1中」,col.names = TRUE,showNA = FALSE)
請顯示您想寫入的樣本數據。 – Metrics
並使用記事本打開文件並檢查。它是否以逗號分隔?標籤?分號? – Nishanth
你有沒有試過'write.csv2'? – Roland