gpt4 book ai didi

r - 将列表转换为 R 中的 "two or more objects"参数

转载 作者:行者123 更新时间:2023-12-04 03:17:05 25 4
gpt4 key购买 nike

我必须在 R 中调用一个将“2 个或更多对象”作为输入的函数,因此函数定义是:
function(..., all = TRUE, <other named parameters>)
其中 ... 定义为 2 or more objects
问题是我的对象在一个列表中,我正在根据我想做的事情处理不同数量的对象。因此,如果我的列表有 3 个元素,例如我将不得不这样做:
function(list[[1]], list [[2]], list[[3]])
无论列表中的元素数量如何,我该如何通用?

最佳答案

您可以使用 do.call,因为它接受一个参数列表并将它们应用于函数。例如对于 rbind :

X <- list(A=1:3,B=4:6,C=7:9)
do.call(rbind,X)

[,1] [,2] [,3]
A 1 2 3
B 4 5 6
C 7 8 9

请注意,如果您需要额外的参数,也应该将它们添加到列表中。见例如:
X <- list(A=list(A1=1:2,A2=3:4),B=list(B1=5:6,B2=7:8))

do.call(c,X) # Returns a list
do.call(c,X,recursive=TRUE) # Gives an error
do.call(c,c(X,list(recursive=TRUE)))

A.A11 A.A12 A.A21 A.A22 B.B11 B.B12 B.B21 B.B22
1 2 3 4 5 6 7 8

关于r - 将列表转换为 R 中的 "two or more objects"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5634260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com