【问题标题】:Passing arguments to function inside sapply将参数传递给 sapply 内部的函数
【发布时间】:2015-10-09 09:58:13
【问题描述】:

假设我们有一个包含数字的列表并应用一个函数, 例如平均函数,对列表的每个元素:

l <- list(a = 1:10, b = 11:20)
l.mean <- sapply(l, mean)
l.mean # it works

但是如果列表包含字符串并且我们想要粘贴它们怎么办:

ll <- list(a=c("1", "2"), b=c("3", "4"))
ll.paste <- sapply(ll, as.call(list(paste, ll, sep = ", ")))
ll.paste # it does not work

我期望的输出应该是这样的:

# 1, 2
# 3, 4

【问题讨论】:

    标签: r sapply


    【解决方案1】:

    我们需要pastecollapse 参数。

     unname(sapply(ll, paste, collapse=', '))
    

    paste(., collapse=', ') 的包装函数是 toString

     unname(sapply(ll, toString))
    

    【讨论】:

    • 你完全正确。而且我不知道 unname 功能。 Tnx 很多
    猜你喜欢
    • 2018-09-26
    • 2015-02-17
    • 1970-01-01
    • 2021-09-21
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多