我有一个CSV文件,其中包含一些字符和数字字段以及文件中的一些NaN。我想将数字字段读作数字和字符字段作为字符。
例如,我的CSV文件monthly.csv
目前就是这样
Datum,Index,D12,E12,b/m,tbl,AAA
187101,4.44,0.2600,0.4000,NaN,NaN,NaN
187102,4.50,0.2600,0.4000,NaN,NaN,NaN
...
...
...
我正在阅读以下代码
monthly <- read.csv2("monthly.csv", sep=',', header = T, na.strings = "NaN", stringsAsFactors=F)
当我查看monthly
变量的内容时,我仍然看到类型为
> str(monthly)
'data.frame': 1620 obs. of 7 variables:
$ Datum : int 187101 187102 187103 187104 187105 187106 187107 187108 187109 187110 ...
$ Index : chr "4.44" "4.50" "4.61" "4.74" ...
$ D12 : chr "0.2600" "0.2600" "0.2600" "0.2600" ...
$ E12 : chr "0.4000" "0.4000" "0.4000" "0.4000" ...
$ b.m : chr NA NA NA NA ...
$ tbl : chr NA NA NA NA ...
$ AAA : chr NA NA NA NA ...
基本上只有第一个字段转换为int
,其余字段仍为chr
。如何使其他人成为int
答案 0 :(得分:1)
对于遇到同样问题的人,我发布的评论中已回答了答案。
将read.csv2
更改为read.csv
它按预期工作,我得到了预期的描述。
> str(monthly)
'data.frame': 1620 obs. of 7 variables:
$ Datum : int 187101 187102 187103 187104 187105 187106 187107 187108 187109 187110 ...
$ Index : num 4.44 4.5 4.61 4.74 4.86 4.82 4.73 4.79 4.84 4.59 ...
$ D12 : num 0.26 0.26 0.26 0.26 0.26 0.26 0.26 0.26 0.26 0.26 ...
$ E12 : num 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 ...
$ b.m : num NA NA NA NA NA NA NA NA NA NA ...
$ tbl : num NA NA NA NA NA NA NA NA NA NA ...
$ AAA : num NA NA NA NA NA NA NA NA NA NA ...