gpt4 book ai didi

r - 在函数内调用 $

转载 作者:行者123 更新时间:2023-12-02 09:32:06 24 4
gpt4 key购买 nike

这感觉像是一个非常初学者的问题。

在 R 中,有没有办法根据传递给函数的参数使用 $ 运算符?

我正在尝试编写一个简单的函数:

subs <- function(x, y){
x<- subset(x, x$UR!=0)
x<- subset(x, !is.na(x$y))
x
}

这将返回:

Warning message:
In is.na(x$y) : is.na() applied to non-(list or vector) of type 'NULL'

因为我有超过 30 列,所以用 [y] 来计算它是没有用的。

有没有办法在函数中使用 $ 动态调用?

谢谢。

最佳答案

扩展@akrun 的评论:

subs <- function(x, y){
x <- x[x[,"UR"]!=0,]
x <- x[!is.na(x[,y]),]
x
}

对函数的调用类似于 subs(dataframe, "variable.name"),后者用引号引起来。

前两行括号内的表达式返回 TRUE/FALSE 值向量,标识 x 中满足指定条件的行(例如,对于 x 中的第 i 行, “UR”列的值不等于 0)。将其放在与 x 相邻的括号中,并在表达式后使用逗号,使用该向量从 x 中仅选择嵌套表达式的结果为 TRUE 的那些行(因此使用尾随逗号)。

注意此答案假设 UR 是该数据帧中变量的名称。

关于r - 在函数内调用 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31921458/

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