r语言 - 将包含不同维度列表的数据列表导出到 Excel.或 txt



当我尝试导出数据列表"C1"时遇到问题,它是一个"列表列表",有两列和可变的行数,如您所见。

> str(c1)
List of 8
 $ :'data.frame':       432 obs. of  2 variables:
  ..$ FECHA              : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
  ..$ El.Hato..21201210.I: num [1:432] 14 57 6 43 67 62 18 33 62 99.9 ...
 $ :'data.frame':       228 obs. of  2 variables:
  ..$ FECHA              : Date[1:228], format: "1996-01-01" "1996-02-01" "1996-03-01" "1996-04-01" ...
  ..$ Guanata..21205890.I: num [1:228] 32.8 90.7 131.4 67.1 84.4 ...
 $ :'data.frame':       348 obs. of  2 variables:
  ..$ FECHA                : Date[1:348], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
  ..$ La.Pradera..2120044.C: num [1:348] 5 37 57 40 85 NA NA NA 33 184 ...
 $ :'data.frame':       432 obs. of  2 variables:
  ..$ FECHA                    : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
  ..$ Las.Margaritas..2120071.C: num [1:432] 11 14 3 15 66 45 6 7 12 29 ...
 $ :'data.frame':       432 obs. of  2 variables:
  ..$ FECHA                      : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
  ..$ Pantano.Redondo..21201060.I: num [1:432] 33.4 80.7 64.1 67.2 122.3 ...
 $ :'data.frame':       336 obs. of  2 variables:
  ..$ FECHA               : Date[1:336], format: "1987-01-01" "1987-02-01" "1987-03-01" "1987-04-01" ...
  ..$ Sabaneta..23065100.I: num [1:336] 140.8 46.7 114.7 73.4 129.2 ...
 $ :'data.frame':       384 obs. of  2 variables:
  ..$ FECHA                 : Date[1:384], format: "1982-01-01" "1982-02-01" "1982-03-01" "1982-04-01" ...
  ..$ Santillana..21206020.I: num [1:384] 38.5 89.8 52.5 187.7 119.4 ...
 $ :'data.frame':       336 obs. of  2 variables:
  ..$ FECHA    : Date[1:336], format: "1987-01-01" "1987-02-01" "1987-03-01" "1987-04-01" ...
  ..$ Tabio.GJA: num [1:336] NA NA NA NA NA ...

我尝试使用通常的导出数据函数以及此处找到的其他解决方案,但问题是我的数据列表的尺寸......

write.xlsx(mydata, "c:/mydata.xlsx")
write.table(c1, "c:/cluster1.txt", sep="t")

我总是收到此错误

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  : 
  arguments imply differing number of rows: 432, 228, 348, 336, 384

我非常感谢这方面的任何帮助。

凯文·戴维森

查看 write.xlsxwrite.table 的帮助文件。这些函数接受数据框作为参数,而不是列表。您要么需要将此列表转换为数据框(使用 plyr 中的ldply),要么只需使用 for 循环写入 8 个不同的数据框,正如 akrun 所建议的那样。如果只想保存对象以供以后在 R 中使用,请使用 savesaveRDS. 同样,检查这些命令的帮助文件并确定哪一个最适合您的需求。

为了解决这个问题,我只需在每个列表中包含相同的日期行,每个列表有 432 行,并用 NA 填充它以导出数据。

相关内容

  • 没有找到相关文章

最新更新