尽管设置了数字选项,read_excel仍会截断数字

时间:2018-08-09 22:02:44

标签: r xlsx data-import readxl

我正在尝试从{readxl“包中使用read_excel()函数将Excel文件读取到R中。 excel文件中单元格中的数字有3个小数位,例如 0,684 1,338 74,296。在R数据框中,相同的数字为0,684 1,34 74,3。 为什么只剩下3位数字?

我设置了options(digits=5)(也尝试了不同的值)。

我也尝试过read_excel("file.xlsx", col_types = c("text", "text", "text"))(给我字符串:74.296000000000006 1.3380000000000001 0.68400000000000005),然后用as.numeric()转换为数字,但是数字又被截断了:0,684 1,34 74,3

请让我知道是否知道原因:)

1 个答案:

答案 0 :(得分:3)

请注意不要混淆“那里有多少位数”与“ R向您显示多少位数”相混淆。很难确定没有看到您的代码,但是我怀疑您正在打印小标题,如下所示:

.wrapper {
  position: relative;
  width: 400px;
  height: 400px;
  margin: auto auto;
  background: black;
}

.circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: grey;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.circle-1 {
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px;
  border-style: solid;
  border-color: white white white transparent;
  transition: 1.5s all ease-in-out;
}

.circle-2 {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px;
  border-style: solid;
  border-color: white transparent white white;
  transition: 1.5s all ease-in-out;
}

.circle:hover .circle-2 {
  transform: rotate(360deg);
}

.circle:hover .circle-1 {
  transform: rotate(-360deg);
}

小标题的默认打印方法仅显示几位有效数字。并且它似乎没有响应<div class="wrapper"> <div class="circle"> <div class="circle-1"></div> <div class="circle-2"></div> </div> </div>中的数字设置。但是,如果我们将其转换为data.frame,您将看到数字始终存在:

library(readxl)
my_junk <- read_excel("~/Downloads/test.xlsx")
print(my_junk)
#> # A tibble: 3 x 1
#>    test
#>   <dbl>
#> 1 0.684
#> 2 1.000
#> 3 1.00

所以您的数字可能在那儿,只是没有显示。