降雨数据,不能获得表的价值?

时间:2014-05-17 22:47:59

标签: r format

我试图分析降雨量数据。但我的问题是我有格式的数据:

head(dati)
    X    X.1 X.2   X.3     1. stat   2. stat 3.stat 4. stat  5. stat
2 2013   1 Val01 00:00           0     0.7                      0.2
3 2013   1 Val01 01:00           0     0.5                      0.2
4 2013   1 Val01 02:00           0       0                      0.2
5 2013   1 Val01 03:00           0       0                        0
6 2013   1 Val01 04:00           0       0                      0.1
7 2013   1 Val01 05:00           0       0                        0

如您所见,列中有一些空格,当我尝试dati[1,5]时,我得到了

[1] 0.7

53 Levels:  0 0.1 0.2  0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 ... HPRAB

据我所知,我只需要一个数字:0.7。我该怎么做?为什么有关于关卡的信息?

我的代码是:

dati<-read.csv2("precipitation.csv", header = TRUE,row.names=NULL,
     sep = ";", quote = "", dec = "," , fill = TRUE, comment.char = "")
attach(dati)

 dati[1,1]
[1] 2013
> dati[1,6]
[1] 0.7
53 Levels:  0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 ... HPRAB
> dati[1,3]
[1] Val01
32 Levels:  Val01 Val02 Val03 Val04 Val05 Val06 Val07 Val08 Val09 Val10 Val11 Val12 ... Val31
> dati[1,4]
[1] 00:00
25 Levels:  00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 ... 23:00
> 

解决!下一个代码正常工作!

dati<-read.csv2("precipitation.csv", header = TRUE,row.names=NULL,
         sep = ";", quote = "", dec = "," , fill = TRUE, comment.char = "")
    attach(dati)
as.numeric(as.character(dati[1,i]))

1 个答案:

答案 0 :(得分:0)

您可以获得有关级别的信息,因为这些列存储为factor s(请参阅?factor)。您可以使用as.numeric(as.character(df$yourcolumn))将因子转换为数字(其中df是您的data.frame,yourcolumn是您要转换的列。

检查这些列中是否有任何字符(NA除外),因为R通常只将数字(和NA)解释为数字。