R从列表中粘贴矢量值而不使用c(...)并打印到文件

时间:2017-10-24 16:24:48

标签: r paste

我有两个数据集,一个包含索引列表,另一个包含数字列表。

Get-ChildItem -Path "R:\" -Directory |
  Where-Object { $_.LastAccessTime -lt [DateTime]::Today.AddYears(-2) } |
  Select-Object FullName,LastAccessTime |
  Export-Csv C:\temp\test.csv -NoTypeInformation

我想将它们并排打印并将结果输入v <- c("a", "b", "c", "d") lst <- list(c("4", "75097", "72607", "72607", "62572"), NA, c("5", "113116", "5372", "5372", "11767"), c("4", "11767", "85822", "85822", "82080", "82080", "77055")) 文件,其中包含以下代码:

txt

我得到的结果是:

connect <- file("new.txt")
writeLines(paste(v, lst, sep=" "), connect)
close(connect)

如何在没有a c("4", "75097", "72607", "72607", "70692", "70692", "69112", "69112", "62572") b NA c c("5", "113116", "5372", "5372", "11767", "11767", "85822", "85822", "82080", "82080", "77055") ...... 的{​​{1}}上打印矢量字符串来提供此结果?

lst

1 个答案:

答案 0 :(得分:3)

我们可以Map paste list个元素使用vector的相应元素

out <- Map(function(x, y) paste(x, paste(y, collapse=' '), sep= ' '), v, lst) 

或者使用sapplylistpaste内容循环到一起,然后使用paste

vector
out <- paste(v, sapply(lst, paste, collapse=' '))

要进行打印,我们可以使用cat

cat(unlist(out, use.names = FALSE), sep="\n")
#a 4 75097 72607 72607 62572
#b 5 113116 5372 5372 11767
#c 4 11767 85822 85822 82080 82080 77055
#d 5 79414 79867 79867 80161 78893 79867 79867 80650 80650 80161