如何修正R语言for循环统计列表内各表格行数的问题
问题修正方案
你的循环代码出错的核心原因是:for (table in names(x))里的table是列表元素的字符串名称,不是对应的dataframe对象,对字符串调用nrow()自然返回NULL。
修正后的for循环代码
把循环里的table替换为x[[table]],以此获取列表中实际的dataframe:
for (table_name in names(x)) { print(paste0(table_name, " = ", nrow(x[[table_name]]))) }
运行后会输出:
[1] "M = 3" [1] "B = 3"
更简洁的替代方法(无需循环)
用sapply()直接遍历列表并计算每个元素的行数,一步得到结果:
sapply(x, nrow)
输出结果是一个命名向量:
M B 3 3
内容的提问来源于stack exchange,提问作者Rara
相关产品推荐
相关产品推荐

