为什么在R
e=list(a,b,c,d)
不同于:
e=list(a,b)
e=list(e,c)
e=list(e,d)
第二种方法可以很容易地在for循环中使用,但它会产生不同的结果,我每次迭代都会创建1个对象,所以不能使用第一种方法,任何提示?
答案 0 :(得分:1)
如果你绝对想要使用这种方法,你可以这样做:
# Make up some data
a <- 1:3; b <- 4:5; c <- 6:10; d <- 11:17
# Build up the lists
e0 <- list(a, b, c, d)
e <- list(a, b)
e <- c(e, list(c))
e <- c(e, list(d))
# Compare the two
identical(e0, e) # TRUE
然而,在现实生活中,使用*apply
系列中的函数(例如lapply()
)可能会更好地使用'id'
系列中的函数,而不是使用循环,这将返回输出列表直接