对字符串和数字进行不连续的 csv 导入
inconsequent csv import on strings and numerics
我有一个包含以下数据的 CSV 文件 ("Alles.csv")
DraftFore;DraftAft;HeadGyro;HeadMagnetic;WindDirection;WindSpeed;WaveDirection;RollHeight;Roll degree;Pitchdegree;Bearing;Distance;Current Speed
10.15;11.36;76.00;81.00;60.00;11.00;124.00;0.20;1.50;0.70;56.00;4.50;
10.17;11.39;83.00;87.00;80.00;16.00;112.00;1.10;1.60;0.60;45.00;3.90;
10.20;11.42;82.00;87.00;66.00;18.00;134.00;1.30;1.60;0.60;48.00;3.60;
10.24;11.43;60.00;65.00;30.00;18.00;143.00;1.40;1.70;0.80;20.00;4.50;
etc
当我通过以下方式导入时:
dat3 = read.csv(file="Alles3.csv", header = TRUE,sep=";", stringsAsFactors=FALSE,na.strings=c("NA", ""))
并为 DraftFore 打印一个值,您会看到:
dat3[1,2]
[1] "10.15"
当我对 HeadMagnetic 做同样的事情时
> dat3[1,4]
[1] 81
所以,[1,2]是一个字符串,[1,4]是一个数值。
请问这怎么可能?
正如 MikeRSpencer 所怀疑的那样,我的 CSV 文件中有虚假值。
终于找到了如何使用以下方法轻松检查的方法:
head(dat3$DraftAft[is.na(as.numeric(dat3$DraftAft))])
我有一个包含以下数据的 CSV 文件 ("Alles.csv")
DraftFore;DraftAft;HeadGyro;HeadMagnetic;WindDirection;WindSpeed;WaveDirection;RollHeight;Roll degree;Pitchdegree;Bearing;Distance;Current Speed
10.15;11.36;76.00;81.00;60.00;11.00;124.00;0.20;1.50;0.70;56.00;4.50;
10.17;11.39;83.00;87.00;80.00;16.00;112.00;1.10;1.60;0.60;45.00;3.90;
10.20;11.42;82.00;87.00;66.00;18.00;134.00;1.30;1.60;0.60;48.00;3.60;
10.24;11.43;60.00;65.00;30.00;18.00;143.00;1.40;1.70;0.80;20.00;4.50;
etc
当我通过以下方式导入时:
dat3 = read.csv(file="Alles3.csv", header = TRUE,sep=";", stringsAsFactors=FALSE,na.strings=c("NA", ""))
并为 DraftFore 打印一个值,您会看到:
dat3[1,2]
[1] "10.15"
当我对 HeadMagnetic 做同样的事情时
> dat3[1,4]
[1] 81
所以,[1,2]是一个字符串,[1,4]是一个数值。
请问这怎么可能?
正如 MikeRSpencer 所怀疑的那样,我的 CSV 文件中有虚假值。
终于找到了如何使用以下方法轻松检查的方法:
head(dat3$DraftAft[is.na(as.numeric(dat3$DraftAft))])