1
文本文件我有一個讀CSV文件成如下一個data.table:寫每個data.table列單獨的R中
Cat1 Cat2 Cat3 Country file_name
1: A E B Canada first
2: C B India Second
3: C Canada third
4: B Ireland Fourth
5: C A India fifth
6: A C F Canada Sixth
我使用下面的代碼來寫每個內容行到一個單獨的文本文件:
lapply(1:nrow(df), function(i) write.table(df[i], file= paste0("./TextFiles/", df[i, file_name], ".txt"), row.names = F, col.names = F, quote = F))
現在我正寫的輸出是「Sixth.txt」(例如)如下:
A C F Canada Sixth
不過,我希望文字如下:
Cat1
A
Cat2
C
Cat3
F
Country
Canada
有沒有辦法得到這個輸出,而不嵌套很多lapply?
試圖代碼:
lapply(df, function(i) i)
給出了輸出:
$Cat1
[1] "A" "C" "C" "B" "C" "A"
$Cat2
[1] "E" "B" "" "" "A" "C"
$Cat3
[1] "B" "" "" "" "" "F"
$Country
[1] "Canada" "India" "Canada" "Ireland" "India" "Canada"
$file_name
[1] "first" "Second" "third" "Fourth" "fifth" "Sixth"
所以,我有一種感覺,可以在內容之前拿到列的名稱,並插入線在每個列條目之前。但是,我無法找到辦法做到這一點。
你希望它被縱向打印文件輸出?就像我們可以在控制檯中看到的一樣,或者像單獨的文本文件中的每行一樣好,列名如下?讓我知道如果你想在下面的結果進行一些更改。 –
@ SowmyaS.Manian:我不希望他們像下面的答案那樣成爲表格的形式。實際上,我會將文本文件導入RQDA。所以,我需要將這些行依次打印,就像我在問題中所顯示的一樣。 – DotPi
@ SowmyaS.Manian:謝謝。有用。有沒有辦法像我在問題中顯示的那樣將其中一列中的數據用作文件名? – DotPi