如何在定制环境中获取所有数据框的数目

时间:2019-04-28 19:23:44

标签: r

我想获取我创建的环境中所有数据框的数目。我该怎么办?

env <- new.env()
source("myscript.R", local = env)
listOfdf<-names(Filter(function(x) x, eapply(env, is.data.frame)))

 #Create the find and replace dataframe with the number representing each dataframe:
listOfdf<-data.frame(listOfdf,stringsAsFactors = FALSE)

以下操作无效

lapply(listOfdf$listOfdf,function(x) nrow(x))

1 个答案:

答案 0 :(得分:1)

我们可以使用mget并将envir指定为'env'

sapply(mget(listOfdf, envir = env), nrow)
# df1 df2 
#  5  10 

在这里,“ listOfdf”是对象标识符的vector,因此我们使用mget获取位于正确环境中的标识符中的值存储为list,然后循环通过listsapply来获得行数(nrow

数据

env <- new.env()
env$df1 <- data.frame(col1 = 1:5, col2 = 6:10)
env$v1 <- 1:10
env$df2 <- data.frame(col1 = LETTERS[1:10])
listOfdf<-names(Filter(function(x) x, eapply(env, is.data.frame)))