我需要以帶引號和逗號的形式"package-name","package-name","package-name"
顯示命令(.packages.())
的結果。我嘗試了print
和paste
......但是即使經過四個小時,我也無法得到正確的結果!搜索結果()作爲字符串
paste((.packages()),collapse=",")
幾乎可行,但引號只在第一個和最後一個位置。而collapse="",""
不起作用。 任何人都可以幫助我嗎?
最佳
我需要以帶引號和逗號的形式"package-name","package-name","package-name"
顯示命令(.packages.())
的結果。我嘗試了print
和paste
......但是即使經過四個小時,我也無法得到正確的結果!搜索結果()作爲字符串
paste((.packages()),collapse=",")
幾乎可行,但引號只在第一個和最後一個位置。而collapse="",""
不起作用。 任何人都可以幫助我嗎?
最佳
試試這個使用paste
兩次:
paste0('"',paste((.packages()),collapse='","'),'"')
這與你有什麼,除了我用sprintf('"%s"', .packages())
而不是.packages()
添加周圍包報價:
> paste(sprintf('"%s"', .packages()), collapse=",")
[1] "\"stats\",\"graphics\",\"grDevices\",\"utils\",\"datasets\",\"methods\",\"base\""
你可能會被所有的\"
扔掉,但這就是如何R print
SA DOU ble-quote(它實際上是單個字符,雙引號)。事情看起來像您期望的,如果你把它們傳遞給cat
或其他功能寫入文件/文件句柄:
> cat(paste(sprintf('"%s"', .packages()), collapse=","))
"stats","graphics","grDevices","utils","datasets","methods","base"
cat
和paste
可以做到這一點;
cat("\"", paste0( .packages()[1:15] , collapse="\", \""), "\"", sep="")
#"stats4", "latticeExtra", "RColorBrewer", "lattice", "sp", "Formula", "cluster", "sos", "brew", "stats", "graphics", "grDevices", "utils", "datasets", "methods"
如果你只是看的糊版控制檯輸出,你明白我爲什麼用貓來整理的結束,使顯示器看起來不太神祕:
paste0( .packages()[1:15] , collapse="\", \"")
#[1] "stats4\", \"latticeExtra\", \"RColorBrewer\", \"lattice\", \"sp\", \"Formula\", \"cluster\", \"sos\", \"brew\", \"stats\", \"graphics\", \"grDevices\", \"utils\", \"datasets\", \"methods"
通過這次我去後意識到它與agstudy的貢獻沒有多大區別,但cat
函數確實允許您更全面地控制顯示的內容。 cat
的缺點是您無法將輸出分配給對象。如果你這樣做不會有一個價值res
:
res <- cat("\"", paste0( .packages()[1:15] , collapse="\", \""), "\"")
res
# NULL
崩潰論本來是'「\」,\「」'或'「‘’」'。如果要雙引號字符實際上是真正的字符,您可以在「外部」使用單引號。 –