temp <- list.files(pattern = '*.xlsx')
list <- lapply(temp,read_excel)
上面的列表有12个文件。我想检查这12个文件中每个文件的尺寸,即每个文件中的行数和列数。
for(i in length(list)){
print(dim(list[[i]]))
}
[1] 12533 49
上面的for循环只给我最后一个文件的输出,而我需要for循环给我每12个文件的尺寸。
有人可以让我知道需要做什么。
答案 0 :(得分:0)
您需要将for
循环更改为
for(i in 1:length(list)){
print(dim(list[[i]]))
}
因为1:length(list)
将创建一个数字序列来循环,而length(list)
将仅给出列表的长度(在您的情况下为12),并且不会生成该序列。
此外,您甚至不需要循环即可执行此操作。您可以只使用lapply
,它将为您提供列表的尺寸。
lapply(list, dim)
例如
list_df <- list(mtcars, iris)
lapply(list_df, dim)
#[[1]]
#[1] 32 11
#[[2]]
#[1] 150 5
另一方面,将列表命名为list
不是一个好习惯,因为它是内部R函数。