在R中的数据表/数据帧上具有多个参数的函数

在R中的数据表/数据帧上具有多个参数的函数,r,R,作为R的初学者,我需要一些帮助: 我已经写了一个函数调用,比如funa,b,c,然后返回d。a、 b、c是我的4m记录数据集中的列值。我的函数应用一些逻辑并返回d上的一些值,我想稍后将其添加到我的数据集中 有人能帮我弄一下的语法吗 1.在具有多个参数的数据集上调用函数 2.将d中的新信息添加到我的数据集中 3.足够有效地处理400万条记录 提前谢谢 请参阅下面的代码 #hybrid FUNCTION hybridfun <- function(df, lookup, df_year, df

作为R的初学者,我需要一些帮助:

我已经写了一个函数调用,比如funa,b,c,然后返回d。a、 b、c是我的4m记录数据集中的列值。我的函数应用一些逻辑并返回d上的一些值,我想稍后将其添加到我的数据集中

有人能帮我弄一下的语法吗 1.在具有多个参数的数据集上调用函数 2.将d中的新信息添加到我的数据集中 3.足够有效地处理400万条记录

提前谢谢

请参阅下面的代码

#hybrid FUNCTION
hybridfun <- function(df, lookup, df_year, df_name, df_id, lup_year, lup_name, lup_id_digit, lup_id_letter){
   for (i in 1:nrow(lookup)){
    df$new = "NOT_SURE"
    if (df$df_year == lookup$lup_year)
        if (df$df_name == lookup$lup_name)
            if (substring(df$df_id, lookup$lup_id_digit, lookup$lup_id_digit) == lookup$lup_id_letter){
        df$new = "HYBRID"
        break
    }
   }
   print(fuel_type)
}

hybridfun(data, lookup, "data_year", "data_name", "data_id", "lookup_year", "lookup_name", "lookup_id_digit", "lookup_id_letter")

我不完全确定你想做什么。也许是这样的

set.seed(2017);
df <- data.frame(
    a = rnorm(6),
    b = rnorm(6),
    c = rnorm(6));
df;
#            a            b          c
#1  1.43420148 -1.958366456 -0.7467347
#2 -0.07729196 -0.001524259  0.3066498
#3  0.73913723 -0.265336001 -1.4304858
#4 -1.75860473  1.563222619  1.1944265
#5 -0.06982523  0.342768064 -0.4820681
#6  0.45190553  1.572425400  1.3178624

# Custom function that sums entries from columns
# with names a, b, c
myfunc <- function(df, a, b, c) {
    # Some operation for the three columns, here calculate the sum
    df$d <- df$a + df$b + df$c;
    return(df);
}

df2 <- myfunc(df, "a", "b", "c");
df2;
#            a            b          c          d
#1  1.43420148 -1.958366456 -0.7467347 -1.2708997
#2 -0.07729196 -0.001524259  0.3066498  0.2278336
#3  0.73913723 -0.265336001 -1.4304858 -0.9566846
#4 -1.75860473  1.563222619  1.1944265  0.9990444
#5 -0.06982523  0.342768064 -0.4820681 -0.2091252
#6  0.45190553  1.572425400  1.3178624  3.3421933

对于以后的帖子,请花一些时间阅读这里的问题,然后提供一个,包括示例数据。

请提供一个你想要达到的目标的例子Hello,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。谢谢毛里塔尼亚·埃弗斯。在我下一篇文章之前,我会仔细阅读你建议的阅读材料。由于某些原因,它仍然不起作用。我很快就会把它寄出去