我正在处理R中的降水数据,但我有一个无法解决的问题。为了更清楚起见,我将把代码放在这里。我有47个气象站的降水量数据(mm/h),具有分钟数据,但我需要每小时的数据和一个包含所有气象站的文件,然后进行插值。现在的问题是,要创建具有47个站点的数据帧,这些数据帧必须由47个观测值和3个变量正常构造。
但问题是,在环境中,我可以看到明显的过程是正确的,但当我打开数据帧时,我感到惊讶,因为您在图像中看到的只有一个值。
这是我用来生成数据帧的代码。
setwd("D:/Escritorio/ohiiunam/estaciones")
temp <- list.files(pattern="*.csv")
lista = lapply(temp, read.csv)
lista<-data.table::rbindlist(lista)
n_last <- 6
lista$id2<- substr(lista$id, nchar(lista$id) - n_last + 1, nchar(lista$id))
unicos <- unique(lista$id2)
fun <- function(i) {
i<-lista %>% select(id, intensidad.mm.h, id2) %>% filter(lista$id2==i)
}
for (i in unicos) {
i <- as.data.frame(fun(i))
}发布于 2021-04-02 11:09:08
嗯,您有一个小问题,您用语法上无效的名称命名了data.frames (变量名称不能以数字开头)。要使用它们,您需要用反引号将名称括起来。
View(`071208`)不清楚是如何加载这些data.frames,但最好更改导入例程,为名称加上一些字符值作为前缀。
发布于 2021-04-02 12:31:26
我已经通过修改assign函数解决了这个问题。
for (i in unicos) {
assign(paste0("jul", sep=".", i), data.frame(lista %>% select(id, id2, intensidad.mm.h) %>% filter (lista$id2==i)))
}谢谢你的帮助。
https://stackoverflow.com/questions/66913936
复制相似问题