gpt4 book ai didi

R 中的函数,传递数据框和列名

转载 作者:行者123 更新时间:2023-12-02 16:10:41 25 4
gpt4 key购买 nike

Possible Duplicate:
Pass a data.frame column name to a function

我正在尝试在 R 中创建一个函数,其中输入之间有数据帧和列名。代码会是这样的:

DT_CAP_COLUMN  <- function(input_table,output_table,column_name,
cap_function,Parameter){
input_table$column_name
(...)
return(1)
}

输出:

DT_CAP_COLUMN(churn_3,churn_4,'VOICE_REVENUE','STD',3)
input_table$column_name is NA

我认为问题在于input_table$column_name不被识别。 input_tablechurn_3但是input_table$column_name返回column_name not found .

是否有办法在不必使用传递引用包或将环境作为变量传递的情况下执行此操作?

最佳答案

您可以使用方括号索引间接引用 data.frame 中的列:

示例数据:

 dat <- data.frame(
a = letters[1:3],
b = LETTERS[4:6],
c = 7:9
)

功能:

 my.function <- function(data, col){
data[, col]
}

结果:

>  my.function(dat, "b" )
b
1 D
2 E
3 F
> my.function(dat, "c" )
c
1 7
2 8
3 9

关于R 中的函数,传递数据框和列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310186/

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