这看起来很简单,但无论我使用哪种*应用功能,正确的答案都不包括在内.我没有尝试任何其他包,因为它似乎*申请应该绝对能够做到这一点.
我的数据:
data = list(foo=c("first", "m", "last"), bar=c("first", "m", "last"))
Run Code Online (Sandbox Code Playgroud)
我认为应该有效:
lapply(data, FUN=paste)
Run Code Online (Sandbox Code Playgroud)
但它给了我:
$foo
[1] "first" "m" "last"
$bar
[1] "first" "m" "last"
Run Code Online (Sandbox Code Playgroud)
我想要:
$foo
[1] "first m last"
$bar
[1] "first m last"
Run Code Online (Sandbox Code Playgroud)
当然,我已经尝试了很多其他的东西:
> paste(data)
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(data, sep = "")
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "", sep="")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(as.vector(data), collapse = "", sep="")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(c(data), collapse = "", sep="")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(c(data, recursive = T), collapse = "", sep="")
[1] "firstmlastfirstmlast"
Run Code Online (Sandbox Code Playgroud)
我不明白引用"c"废话的来源.
您的初始方法几乎是正确的,您只需要添加collapse = " "以将向量连接到列表的每个元素中的一个字符串
lapply(data, paste, collapse = " ")
# $foo
# [1] "first m last"
#
# $bar
# [1] "first m last"
Run Code Online (Sandbox Code Playgroud)