ř用户定义的函数:新的数据帧的名称作为函数参数

问题描述 投票:0回答:1

输入数据帧的名称,将在功能创建的数据帧的名称:我写用户定义的函数来操纵R.我想与2个参数写入功能的数据帧我所遇到的问题。下面是使用mtcars数据集的例子:

subset_high_hp <- function(full_table, only_highHP) {
  only_highHP <<- full_table %>% 
    filter(hp > 200)

}

subset_high_hp(mtcars, mtcars_highhp)

subset_high_hp现在创建一个名为only_highHP,而不是期望的mtcars_highhp的数据帧。我知道,这是一个非常基本的问题,但我是新来的R和真的在努力寻找正确的文档。任何人都可以点我在正确的方向?

r parameter-passing user-defined-functions
1个回答
0
投票

我认为你可以使用assign应该这样:

subset_high_hp <- function(full_table, df_name) {
  sub_df <- full_table %>% 
    filter(hp > 200)

  assign(x = df_name, value = sub_df, envir = globalenv())
}

subset_high_hp(full_table = mtcars, df_name = "mtcars_highhp")
mtcars_highhp

   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 14.3   8  360 245 3.21 3.570 15.84  0  0    3    4
2 10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
3 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
4 14.7   8  440 230 3.23 5.345 17.42  0  0    3    4
5 13.3   8  350 245 3.73 3.840 15.41  0  0    3    4
6 15.8   8  351 264 4.22 3.170 14.50  0  1    5    4
7 15.0   8  301 335 3.54 3.570 14.60  0  1    5    8
© www.soinside.com 2019 - 2024. All rights reserved.