将参数传递给 sapply 中的函数
Passing arguments to function inside sapply
假设我们有一个包含数字的列表并且我们应用了一个函数,
例如 mean 函数,对列表的每个元素:
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
我们需要 paste
的 collapse
参数。
unname(sapply(ll, paste, collapse=', '))
paste(., collapse=', ')
的包装函数是 toString
unname(sapply(ll, toString))
假设我们有一个包含数字的列表并且我们应用了一个函数, 例如 mean 函数,对列表的每个元素:
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
我们需要 paste
的 collapse
参数。
unname(sapply(ll, paste, collapse=', '))
paste(., collapse=', ')
的包装函数是 toString
unname(sapply(ll, toString))