我想获取我创建的环境中所有数据框的数目。我该怎么办?
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))
答案 0 :(得分:1)
我们可以使用mget
并将envir
指定为'env'
sapply(mget(listOfdf, envir = env), nrow)
# df1 df2
# 5 10
在这里,“ listOfdf”是对象标识符的vector
,因此我们使用mget
获取位于正确环境中的标识符中的值存储为list
,然后循环通过list
和sapply
来获得行数(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)))