こんにちは、初めて reshape 関数を使用しようとしています。多くの情報と毎日の降雨量を含む data.frame があります。1 日あたりの降雨量が 1 行になるように、長い形式で表示しようとしています。ただし、reshape 関数を使用すると、降雨量が文字に変換されます... これが私のデータの一部です (実際には P31 まで続きます。P は 1 日あたりの降水量です)。
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"
誰か教えてくれませんか?? また、「日」の前にNAの列があるのはなぜですか?
乾杯