【问题标题】:Manipulate same variable in a list of dataframes using lapply or Map使用 lapply 或 Map 在数据框列表中操作相同的变量
【发布时间】:2015-01-15 16:55:13
【问题描述】:

我设法通过使用this优雅的lapply解决方案导入了10个.csv文件。 现在的输出是 10 个 data.frameslist。 每个data.frame包含变量yearvalue

 file_names <- dir("../XYZ", pattern = glob2rx("*.csv"))
 data_list <- lapply(filenames, read.table, header = TRUE)
 head(data_list[[1]])
  year     value
1 200712   2320,00 
2 200712   120,00    
3 200712   188,00 
4 200712   1328,00    
5 200712   46,00    
6 200712   98,00 
 head(data_list[[2]])
  year     value
1 200812   320,00 
2 200812   1120,00    
3 200812   1288,00 
4 200812   1128,00    
5 200812   746,00    
6 200812   938,00 

不幸的是,变量year 的格式是yyyymm,但我希望它是yyyy

因此我想使用另一个lapplyMap 来更改每个data.frame 中year 的格式。比如:

data_list <- lapply(data_list[["year"]], FUN = substr(1,4), ... )

或:

data_list <- Map(substr(1,4), data_list, "year")

但这不起作用...有什么想法吗?

【问题讨论】:

    标签: r apply lapply


    【解决方案1】:

    你可以试试

    data_list <- lapply(data_list, function(x) {x$year <- substr(x$year, 1,4)
                                       x})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2023-04-04
      • 2017-11-22
      相关资源
      最近更新 更多