R 从名称列表中循环多个数据帧

R 从名称列表中循环多个数据帧,r,loops,R,Loops,我有许多大型DFs,我想循环使用它们。我想我应该用它们的名字做一个简单的向量,然后看看它们,而不是把它们绑定在一起,形成一个大的列表,但是我该怎么做呢 例如,我有: DF1 <- data.frame(c("a", "b", "c"),c(TRUE, FALSE, TRUE)) DF2 <- data.frame(c("aa", "bb", "cc"),c(FALSE, FALSE, TRUE)) DF3 <- data.frame(c("aaa", "bbb", "ccc")

我有许多大型DFs,我想循环使用它们。我想我应该用它们的名字做一个简单的向量,然后看看它们,而不是把它们绑定在一起,形成一个大的列表,但是我该怎么做呢

例如,我有:

DF1 <- data.frame(c("a", "b", "c"),c(TRUE, FALSE, TRUE))
DF2 <- data.frame(c("aa", "bb", "cc"),c(FALSE, FALSE, TRUE))
DF3 <- data.frame(c("aaa", "bbb", "ccc"),c(TRUE, FALSE, FALSE))

MyDFs <- c("DF1", "DF2", "DF3")

for (i in MyDFs) {
    print(nrow(i))
}
DF1或

如果不想创建向量
MyDFs

 sapply(mget(ls(pattern="DF")), nrow) #should also work

在您自己的代码中,只需将
print(nrow(i))
替换为
print(nrow(get(i))
,因为我是:chr“DF1”等


首先,您的data.frames应该在列表中。
 sapply(mget(ls(pattern="DF")), nrow) #should also work
for (i in MyDFs) {
     print(nrow(get(i)))
}
[1] 3
[1] 3
[1] 3