这看起来很简单,但无论我使用哪种*应用功能,正确的答案都会让我失望。我没有尝试任何其他包,因为它似乎* apply应该绝对能够做到这一点。
我的数据:
data = list(foo=c("first", "m", "last"), bar=c("first", "m", "last"))
我认为应该有效:
lapply(data, FUN=paste)
但它给了我:
$foo
[1] "first" "m" "last"
$bar
[1] "first" "m" "last"
我想:
$foo
[1] "first m last"
$bar
[1] "first m last"
当然,我已经尝试了很多其他的东西:
> 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"
我不明白引用“c”废话的来源。
答案 0 :(得分:8)
您的初始方法几乎是正确的,您只需要添加collapse = " "
以便将向量连接到列表的每个元素中的一个字符串
lapply(data, paste, collapse = " ")
# $foo
# [1] "first m last"
#
# $bar
# [1] "first m last"