Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在多个数据集上执行函数_R_Vector_Dataframe - Fatal编程技术网

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)
?啊,我没有想过给列表命名。。。这就是我要找的!完美的请随意添加此作为答案。