←
PDF 365 / 520 - 2. Create an enhanced col\sum() that applies a summary function to every numeric column in a d
→
English · PDF 365
Original PDF page 365
中文 · PDF 365
    1. 创建一个增强版的 col_sum(),它对数据框中的每个数值列应用一个汇总函数。
    1. col_sum() 的一个可能的 base R 等价实现是:

col_sum3 <- function(df, f) { is_num <- sapply(df, is.numeric) df_num <- df[, is_num] sapply(df_num, f) }

但如下面的输入所示,它存在若干 bug:

df <- tibble( x = 1:3, y = 3:1, z = c("a", "b", "c") ) # 正常 col_sum3(df, mean) # 有问题:不总是返回数值向量 col_sum3(df[1:2], mean) col_sum3(df[1], mean) col_sum3(df[0], mean)

是什么导致了这些 bug?