为什么子集削减小数部分?
Why subset cut decimal part?
您好,这是 data.frame / list 的示例,其中两列包含 X 和 Y。我的问题是当我调用 subset 它将去除小数部分。你能帮我弄清楚为什么吗?
(row.names | X | Y)
> var
...
9150 4246838.57 5785639.07
9152 4462019.15 5756344.11
9153 4671745.07 5791092.53
9154 4825699.93 5767058.37
9155 4935126.99 5839357.55
> typeof(var)
[1] "list"
> var = subset(var, Y>10980116 & X>3217133)
...
6569 15163607 11323070
6572 15102381 11079465
6573 16462260 11272569
6577 19028175 11095784
我用的时候也是这样:
> var = var[var$Y>10980116 & var$X>3217133,]
感谢您的帮助。
这不是子集问题,而是 formatting/presentation 问题。您在 Burns 的第一个圈子中 R Inferno(“[i]如果您正在使用 R 并且您认为自己身处地狱,那么这是适合您的地图”):
another aspect of virtuous pagan beliefs—what is printed is all
that there is
如果我们只是按照输入的方式打印数据框的这一位,我们 "lose" 位。
> df <- read.table(text="
4246838.57 5785639.07
4462019.15 5756344.11
4671745.07 5791092.53
4825699.93 5767058.37
4935126.99 5839357.55",
header=FALSE)
> df
## V1 V2
## 1 4246839 5785639
## 2 4462019 5756344
## 3 4671745 5791093
## 4 4825700 5767058
## 5 4935127 5839358
告诉 R 你想看到更高的精度:
> print(df,digits=10)
## V1 V2
## 1 4246838.57 5785639.07
## 2 4462019.15 5756344.11
## 3 4671745.07 5791092.53
## 4 4825699.93 5767058.37
## 5 4935126.99 5839357.55
或者您可以设置options(digits=10)
(默认为7)。
您好,这是 data.frame / list 的示例,其中两列包含 X 和 Y。我的问题是当我调用 subset 它将去除小数部分。你能帮我弄清楚为什么吗?
(row.names | X | Y)
> var
...
9150 4246838.57 5785639.07
9152 4462019.15 5756344.11
9153 4671745.07 5791092.53
9154 4825699.93 5767058.37
9155 4935126.99 5839357.55
> typeof(var)
[1] "list"
> var = subset(var, Y>10980116 & X>3217133)
...
6569 15163607 11323070
6572 15102381 11079465
6573 16462260 11272569
6577 19028175 11095784
我用的时候也是这样:
> var = var[var$Y>10980116 & var$X>3217133,]
感谢您的帮助。
这不是子集问题,而是 formatting/presentation 问题。您在 Burns 的第一个圈子中 R Inferno(“[i]如果您正在使用 R 并且您认为自己身处地狱,那么这是适合您的地图”):
another aspect of virtuous pagan beliefs—what is printed is all that there is
如果我们只是按照输入的方式打印数据框的这一位,我们 "lose" 位。
> df <- read.table(text="
4246838.57 5785639.07
4462019.15 5756344.11
4671745.07 5791092.53
4825699.93 5767058.37
4935126.99 5839357.55",
header=FALSE)
> df
## V1 V2
## 1 4246839 5785639
## 2 4462019 5756344
## 3 4671745 5791093
## 4 4825700 5767058
## 5 4935127 5839358
告诉 R 你想看到更高的精度:
> print(df,digits=10)
## V1 V2
## 1 4246838.57 5785639.07
## 2 4462019.15 5756344.11
## 3 4671745.07 5791092.53
## 4 4825699.93 5767058.37
## 5 4935126.99 5839357.55
或者您可以设置options(digits=10)
(默认为7)。