search() 的结果作为字符串
result of search() as character string
我需要以 "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
的双引号(它实际上是一个字符,双引号)。如果将它们传递给 cat
或其他用于写入 files/filehandles:
的函数,事情将如您所愿
> 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"
如果你只看粘贴版本的控制台输出,你就会明白为什么我使用 cat 来整理末端并使显示看起来不那么神秘:
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
我需要以 "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
的双引号(它实际上是一个字符,双引号)。如果将它们传递给 cat
或其他用于写入 files/filehandles:
> 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"
如果你只看粘贴版本的控制台输出,你就会明白为什么我使用 cat 来整理末端并使显示看起来不那么神秘:
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