我有一个函数f
,它不带参数,并返回带有一堆变量x1, x2, ... xi
的数据框。稍后我会想要提取其中一个xi
。那么,这种语法是否可行?
aColumn <- f()$xi
或者我必须这样做:
allX <- f()
aColumn <- allX$xi
f
是一个复杂的函数,它本身就是一个非常复杂的Shiny应用程序的一部分,所以这个问题的答案将帮助我找出我得到的错误。
答案 0 :(得分:0)
如果不了解您的功能细节,很难肯定地回答这个问题。但我不认为有任何明确的理由说明它不起作用。
这是一个(大概)类似的例子:
set.seed(123)
nums <- sample(5, 20, replace = TRUE)
myfun <- function(x = nums) rle(x)
myfun()$lengths
#[1] 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1
此结果与
相同temp <- myfun()
temp$lengths
#[1] 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1
因此,据我所知,OP中提供的信息,我认为语法f()$xi
是正确的。