首页 > 解决方案 > 来自 csv 文件的数据与来自 R 中的数据框的给定数据不同

问题描述

我正在尝试通过 csv 文件读取 R 中的一些数据。导出为csv类型后值发生变化的问题。我尝试使用 Notepad++ 进行编辑,但没有成功。这将影响使用这些数据的绘图的正确性。

这就是数据的显示方式(来自给定的数据框):

     cc_variant       Date        NEE
1      Fallow 2016-10-18   52.31861
2      Fallow 2016-10-19   36.75274
3      Fallow 2016-10-24   34.59082
4        Mix4 2016-10-18 -516.86837
5       Mix12 2016-10-18 -617.11000
6     Mustard 2016-10-18 -182.24568
7        Mix4 2016-10-19 -102.63776
8       Mix12 2016-10-19 -431.55887
9     Mustard 2016-10-19 -139.04121
10    Mustard 2016-10-24 -114.09939
11      Mix12 2016-10-24 -400.21260
12       Mix4 2016-10-24 -175.33208

这是读取 csv 文件后数据的显示方式:

 cc_variant       Date       NEE
1      Fallow 18.10.2016   5231861
2      Fallow 19.10.2016   3675274
3      Fallow 24.10.2016   3459082
4        Mix4 18.10.2016 -51686837
5       Mix12 18.10.2016 -61711000
6     Mustard 18.10.2016 -18224568
7        Mix4 19.10.2016 -10263776
8       Mix12 19.10.2016 -43155887
9     Mustard 19.10.2016 -13904121
10    Mustard 24.10.2016 -11409939
11      Mix12 24.10.2016 -40021260
12       Mix4 24.10.2016 -17533208

问题仅在于NEE值。

这是用于读取数据的命令:

 data <- read.csv2("C:\\Users\\alex\\Desktop\\orkg-stencila\\Gentsch2020\\data.csv")
    data$NEE <- as.numeric(sub('.', '', data$NEE, fixed = TRUE))

标签: rdataframecsv

解决方案


删除 sub() 函数。如果你想检查列类型 lapply(data, class) 或 as_tibble(data) 的模式。如果要更改列 data$NEE<- as.numeric(data$NEE) OR as.character(data$NEE) 的数据类型。或者 type.convert(data$NEE) 将该列减少到它的基础,或者最简单的数据类型。即字符到数字。


推荐阅读