R:如何读取产品ID为15位数字的CSV文件?

R:如何读取产品ID为15位数字的CSV文件?,r,csv,R,Csv,当我读取数据文件(*.CSV文件)时,Product列被读取为scientific,因此Product ID的10230720002148和10230720026812都被读取为1.02307e+14。比较时,无法区分: 股票$Product[14]==股票$Product[15] [1] 真的 尝试使用选项(scipen=999),该选项取前6位数字,用0填充其余数字,但问题仍然存在。请帮助。准备有疑问的数据 data <- c("102307200002148","1023072000

当我读取数据文件(*.CSV文件)时,Product列被读取为scientific,因此Product ID的10230720002148和10230720026812都被读取为1.02307e+14。比较时,无法区分:

股票$Product[14]==股票$Product[15]
[1] 真的


尝试使用选项(scipen=999),该选项取前6位数字,用0填充其余数字,但问题仍然存在。请帮助。

准备有疑问的数据

data <- c("102307200002148","102307200026812")
write.csv(data, file = "data.csv")    
read <- read.csv(file = "data.csv")
再次测试作为字符的读取

> as.character(read[1,])
[1] "1"               "102307200002148"
数据已准备好进行复制

> as.character(read[1,]) == as.character(read[2,])
[1] FALSE FALSE
> as.character(read[1,]) == as.character(read[1,])
[1] TRUE TRUE

经过几个小时的尝试,我刚刚意识到我的csv文件已损坏(可能是excel自动保存的,不确定),并在数据文件中将产品ID的值更改为科学符号。带上正确的csv文件后,我的代码按预期工作,无需任何特殊编码


感谢大家的支持并尝试解决我的问题,我衷心感谢。

使用
colClasses
参数来
read.csv
指定
产品
列的类型为
“character”
(或
“factor”
),双精度可以容纳15位小数;您看到的是一个表示,而不是整个值。尝试
选项(数字=22)
。但是对于产品ID,一个因子更有意义。对于colClasses,它的读数为chr“1.02307E+14”。运气不好。@PB4133944一定是出了什么问题。也许你是用这种格式写的文件。也许把你的
read.csv
(或
read.table
或你使用的任何一个)行放在你的问题中,这样我们就可以看到发生了什么?你不是“以字符的形式读取”,而是以字符的形式解释数值。如果它有额外的数字,这将不起作用。是的,但它会得到+1,用于复制OP在其文件中所说的内容,并根据描述显示,只需使用
read.csv()
读取即可。这是Excel的一个非常烦人的“功能”。
> as.character(read[1,]) == as.character(read[2,])
[1] FALSE FALSE
> as.character(read[1,]) == as.character(read[1,])
[1] TRUE TRUE