嗨,我第一次尝试使用重塑功能。我有一个包含大量信息和每日降雨量的数据框。我试图把它放在一个长格式,这样我每天的降雨量就会有一行。然而,当我使用 reshape 函数时,我的降雨量被转化为字符......这是我的一些数据(它实际上一直到 P31,P 是每天的降雨量)
code year month station ALTITUD NOM_PROV LONGITUD LATITUD P1 P2 P3 P4
2011 1932 7 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 0 0 0 54
2011 1932 8 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 0 0 0 0
我的代码是:
CET <- read.table("H:/METEO_data/AEMET_2/2011.csv", sep=",", header=F)
colnames(CET)<-c("code","year","month","station","ALTITUD","NOM_PROV","LONGITUD","LATITUD","P1","P2","P3","P4","P5","P6","P7","P8","P9","P10","P11","P12","P13","P14","P15","P16","P17","P18","P19","P20","P21","P22","P23","P24","P25","P26","P27","P28","P29","P30","P31")
aa<- reshape(CET, timevar="day", varying = list(c("P1","P2","P3","P4","P5","P6","P7","P8","P9","P10","P11","P12","P13","P14",
"P15","P16","P17","P18","P19","P20","P21","P22","P23","P24","P25","P26","P27","P28","P29","P30","P31")),direction="long")
最终结果是我想要的形状的数据:
code year month station ALTITUD NOM_PROV LONGITUD LATITUD NA day P1 id
1.1 2011 1932 7 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 NA 1 0 1
2.1 2011 1932 8 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 NA 1 0 2
3.1 2011 1932 9 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 NA 1 0 3
4.1 2011 1932 10 EMBALSE CUERDA DEL POZO 1150 SORIA 242172 415235 NA 1 0 4
但我不能使用它,因为:
class(aa$P1)
[1] "character"
在原始data.frame中时:
class(CET$P1)
[1] "integer"
谁能告诉我为什么??另外为什么在“day”之前有一列NA?
干杯