R语言使用lapply查询数据框列表内各数据框year变量的class
实现方法
你可以直接在lapply中传入匿名函数调取每个dataframe的year字段返回类型,具体操作如下:
核心代码
假设你存储多个dataframe的列表名为df_list,执行以下代码即可:
lapply(df_list, function(x) class(x$year))
代码说明
lapply第一个参数传入你的dataframe列表,第二个参数为自定义匿名函数- 迭代过程中,匿名函数的
x会依次接收列表中每个dataframe,返回对应year字段的class属性 - 最终返回结果为和原列表长度一致的列表,每个元素对应相同位置dataframe的
year变量类型
示例验证
你可以用以下测试代码确认逻辑正确:
# 构造测试用dataframe列表 df1 <- data.frame(year = c(2020, 2021), value = rnorm(2)) df2 <- data.frame(year = as.character(c(2020, 2021)), value = rnorm(2)) df3 <- data.frame(year = as.factor(c(2020, 2021)), value = rnorm(2)) df_list <- list(df1, df2, df3) # 执行类型检查 year_class_res <- lapply(df_list, function(x) class(x$year)) # 查看结果 print(year_class_res)
执行后输出结果如下:
[[1]] [1] "numeric" [[2]] [1] "character" [[3]] [1] "factor"
拓展说明
如果你希望得到更易读的向量格式结果,可以把lapply替换为sapply:
sapply(df_list, function(x) class(x$year))
内容的提问来源于stack exchange,提问作者Muhammad Kamil
相关产品推荐
相关产品推荐

