在多个对象上执行函数是否有简单的解决方案?我正在尝试do.call
和sapply
,但没有让它运行。
我有3个数据框,我正在检查它们的行数。要获取矢量,我使用的是c(nrow(df), nrow(df_flt), nrow(df_ident))
。结果将是显示数字的普通向量。通过调用类似的东西,我希望得到的是这样的命名向量:
do.my.call(nrow, c(df, df_flt, df_ident))
nrow(df) nrow(df_flt) nrow(df_ident)
95 58 3
有没有办法用一行代码获取这个命名向量?我可以自己构建一个函数,此刻我感觉这应该可以通过使用内置函数来实现
以下是一些示例数据。
df <- data.frame(a=1:95)
df_flt <- df[1:58,]
df_ident <- df[1:3,]
c(nrow(df), nrow(df_flt), nrow(df_ident))
jnk <- c(nrow(df), nrow(df_flt), nrow(df_ident))
names(jnk) <- c('nrow(df)', 'nrow(df_flt)', 'nrow(df_ident)')
答案 0 :(得分:1)
我们可以将它们放入命名列表,然后使用apply
:
sapply(list(mtcars = mtcars, cars = cars), nrow)
# mtcars cars
# 32 50