小编mos*_*aic的帖子

强制申请返回列表

我有一个矩阵和一个函数,它接受一个向量并返回一个矩阵.我想将函数应用于矩阵的所有行并将所有结果一起rbind.例如

mat <- matrix(1:6, ncol=2)
f <- function (x) cbind(1:sum(x), sum(x):1)
do.call(rbind, apply(mat, 1, f))
Run Code Online (Sandbox Code Playgroud)

这很有效,因为返回的矩阵具有不同的行数,因此apply返回一个列表.但是,如果他们碰巧有相同数量的行,那么它就不再起作用了:

mat <- f(3)
apply(mat, 1, f)
Run Code Online (Sandbox Code Playgroud)

apply返回一个矩阵,我无法得到我想要的结果.是否可以强制申请返回列表或是否有其他解决方案?

r

13
推荐指数
2
解决办法
6715
查看次数

使用元组作为函数参数

对于这个函数,我可以使用元组元素作为参数:

light_blue = .6, .8, .9
gradient.add_color_rgb(0, *light_blue)
Run Code Online (Sandbox Code Playgroud)

如果我必须在元组之后添加另一个参数怎么办?

light_blue = .6, .8, .9
alpha = .5
gradient.add_color_rgba(0, *light_blue, alpha)
Run Code Online (Sandbox Code Playgroud)

不起作用.工作是什么

gradient.add_color_rgba(0, *list(light_blue)+[alpha])
Run Code Online (Sandbox Code Playgroud)

这看起来并不比

gradient.add_color_rgba(0, light_blue[0], light_blue[1], light_blue[2], alpha)
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

python

3
推荐指数
1
解决办法
763
查看次数

标签 统计

python ×1

r ×1