我试图分析降雨量数据。但我的问题是我有格式的数据:
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]))
答案 0 :(得分:0)
您可以获得有关级别的信息,因为这些列存储为factor
s(请参阅?factor
)。您可以使用as.numeric(as.character(df$yourcolumn))
将因子转换为数字(其中df
是您的data.frame,yourcolumn
是您要转换的列。
检查这些列中是否有任何字符(NA除外),因为R通常只将数字(和NA)解释为数字。