我有一个包含以下数据的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]是一个数值。
请问这怎么可能?
答案 0 :(得分:0)
正如MikeRSpencer所怀疑的那样,我的CSV文件中存在虚假值。
终于找到了如何使用以下方法轻松检查:
head(dat3$DraftAft[is.na(as.numeric(dat3$DraftAft))])