R 在多个数据集上执行函数
在多个对象上执行函数是否有一个简单的解决方案?我正在试验R 在多个数据集上执行函数,r,vector,dataframe,R,Vector,Dataframe,在多个对象上执行函数是否有一个简单的解决方案?我正在试验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)
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)')
df我们可以将它们放入一个命名列表中,然后使用apply
:
sapply(list(mtcars = mtcars, cars = cars), nrow)
# mtcars cars
# 32 50
把它们放在一个列表中,然后用nrow重叠,例如:lappy(list(mtcars,mtcars),nrow)
有没有办法获取通话的名称或数据集的名称?可能是这样:sappy(list(mtcars=mtcars,cars=cars),nrow)
?啊,我没有想过给列表命名。。。这就是我要找的!完美的请随意添加此作为答案。