调用

时间:2019-06-12 09:41:56

标签: r dataframe for-loop null

我正在尝试创建另一个使用所有列名称的函数。此函数将确定每个变量(数据列)是否为数字。对于每个数字变量,该函数将使用您的列名打印出函数的均值。 这是我要遍历的数据帧(TitanicDF)的头。

     Survived Pclass    Sex   Age  Fare  Cabin Embarked FamilyNum
        1      1      female  38   71.28   C85        C         1
        1      1      female  35   53.10  C123        S         1
        0      1      male    54   51.86   E46        S         0
        1      3      female   4   16.70    G6        S         2
        1      1      female  58   26.55  C103        S         0
        1      2      male    34   13.00   D56        S         0

我创建了一个用于遍历所有列名的for循环,并使用if语句确定该列是否为数字

name <- colnames(TitanicDF)

func2 <- function(col_names, df){
  for (val in col_names) {
    if (class(val) == "numeric"){
      avg <- mean(df$val)
      print(avg)

    }
  }
}

func2(name, TitanicDF)

当我调用该函数时,很明显,可以计算和打印列龄,票价和FamilyNum的平均值。 但是,当我调用此函数时,这里什么也没有返回。我真的很困惑。

0 个答案:

没有答案