在R中维护长数字符串,避免使用科学记数法而不删除前导零

时间:2017-10-23 23:35:44

标签: r csv

我遇到了R强制执行科学记数法并删除我的领先0的问题。我捕获了24个时间间隔的历史记录,其中捕获的动物标记为1,如果没有则标记为0。我在excel .csv和.txt文件中有这个。

我尝试通过.csv文件加载到R然后运行:

with_options(c(scipen=999),(str_pad(data$capture.history,24, pad="0")))

这几乎可以工作但是这会在不需要它的捕获历史之前增加额外的0,并且在不应该存在的点中添加一堆奇数值,例如" 010000009999999999934424"对于一些但不是所有的历史。

我使用以下方式上传.txt文件:

cjs <- read.table(file.choose(),header=TRUE, sep="\t", strip.white=TRUE)

几乎同样的事情发生了。

1 个答案:

答案 0 :(得分:4)

或许查看colClasses=参数,它允许您告诉 read.csv()和朋友如何处理每一列,而不是让他们/强迫他们猜测:

cat("char1, char2, num1\n01000, 00000004000, 0004\n", file="eg.csv")

read.csv("eg.csv")
#   char1 char2 num1
# 1  1000  4000    4

read.csv("eg.csv", colClasses=c("character", "character", "numeric"))
# char1        char2 num1
#1 01000  00000004000    4