如果 R 正在计算数字,我不知道解决方案。如果该号码位于数据文件中,我认为下面的代码可能有效。不过,如果该数字位于数据文件中,则可能有更简单的解决方案。
a1 <- read.table("c:/users/Mark W Miller/simple R programs/long_number.txt", colClasses = 'character')
# a1 <- c('1234567891234567891234567891234567891234') ;
a1 <- as.character(a1) ;
a2 <- strsplit(a1, "") ;
a3 <- unlist(a2) ;
a4 <- as.vector(as.numeric(a3)) ;
a4
# [1] 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4
EDIT
我意识到我可能不明白这个问题,而且我的回答可能很愚蠢。不过,如果您有一整套非常长的数字数据集,您可以使用下面的代码将它们全部拆分。请注意,文件“two_long_numbers.txt”中没有引号,并且数据以数字开头:
a1 <- read.table("c:/users/Mark W Miller/simple R programs/three_long_numbers.txt", colClasses = 'character')
a1
# V1
# [1,] "1234567891234567891234567891234567891234"
# [2,] "1888678912345678912345678912345678912388"
# [3,] "1234999891234567891234567891234567891239"
# a1 <- matrix(c(
# "1234567891234567891234567891234567891234",
# "1888678912345678912345678912345678912388",
# "1234999891234567891234567891234567891239"), nrow=3, byrow=T)
a1 <- as.matrix(a1) ;
a2 <- strsplit(a1, "") ;
a3 <- unlist(a2) ;
a3 <- as.numeric(a3) ;
a4 <- matrix(a3, nrow=dim(a1)[1], byrow=T)
a4