我正在尝试创建另一个使用所有列名称的函数。此函数将确定每个变量(数据列)是否为数字。对于每个数字变量,该函数将使用您的列名打印出函数的均值。 这是我要遍历的数据帧(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的平均值。 但是,当我调用此函数时,这里什么也没有返回。我真的很困惑。