在R中的数据表/数据帧上具有多个参数的函数
作为R的初学者,我需要一些帮助: 我已经写了一个函数调用,比如funa,b,c,然后返回d。a、 b、c是我的4m记录数据集中的列值。我的函数应用一些逻辑并返回d上的一些值,我想稍后将其添加到我的数据集中 有人能帮我弄一下的语法吗 1.在具有多个参数的数据集上调用函数 2.将d中的新信息添加到我的数据集中 3.足够有效地处理400万条记录 提前谢谢 请参阅下面的代码在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
#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。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。谢谢毛里塔尼亚·埃弗斯。在我下一篇文章之前,我会仔细阅读你建议的阅读材料。由于某些原因,它仍然不起作用。我很快就会把它寄出去