- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个data.table dt
,我在其中使用cut
做了一些分类:
require(data.table)
set.seed(1)
dt <- data.table(x = rnorm(10))
dt[, y := cut(x, breaks = c(-Inf, 0, Inf), labels = 1:2)]
如果我将结果因子 y
转换为数值(使用基于 ?factor
的函数 as.Numeric
),二分查找不再起作用,尽管 z
是数字。
as.Numeric <- function(f){
as.numeric(levels(f))[f]
}
dt[, z := as.Numeric(y)] # as.numeric(as.character(y))
# is working ...
dt
## x y z
## 1: -0.6264538 1 1
## 2: 0.1836433 2 2
## 3: -0.8356286 1 1
## 4: 1.5952808 2 2
## 5: 0.3295078 2 2
## 6: -0.8204684 1 1
## 7: 0.4874291 2 2
## 8: 0.7383247 2 2
## 9: 0.5757814 2 2
## 10: -0.3053884 1 1
setkey(dt, z)
dt
## x y z
## 1: 0.1836433 2 2
## 2: 1.5952808 2 2
## 3: 0.3295078 2 2
## 4: 0.4874291 2 2
## 5: 0.7383247 2 2
## 6: 0.5757814 2 2
## 7: -0.6264538 1 1
## 8: -0.8356286 1 1
## 9: -0.8204684 1 1
## 10: -0.3053884 1 1
dt[J(1)] # doesn't work
## x y z
## 1: NA NA 1
dt[y == 1, ] # works fine
## x y z
## 1: -0.6264538 1 1
## 2: -0.8356286 1 1
## 3: -0.8204684 1 1
## 4: -0.3053884 1 1
str(dt)
## Classes ‘data.table’ and 'data.frame': 10 obs. of 3 variables:
## $ x: num 0.184 1.595 0.33 0.487 0.738 ...
## $ y: Factor w/ 2 levels "1","2": 2 2 2 2 2 2 1 1 1 1
## $ z: num 2 2 2 2 2 2 1 1 1 1
## - attr(*, ".internal.selfref")=<externalptr>
## - attr(*, "sorted")= chr "z"
尝试再次设置 key ,没有帮助:
setkey(dt, z)
## Warning message:
## In setkeyv(x, cols, verbose = verbose) :
## Already keyed by this key but had invalid row order, key rebuilt. If you didn't go under the hood please let datatable-help know so the root cause can be fixed.
dt
## x y z
## 1: 0.1836433 2 2
## 2: 1.5952808 2 2
## 3: 0.3295078 2 2
## 4: 0.4874291 2 2
## 5: 0.7383247 2 2
## 6: 0.5757814 2 2
## 7: -0.6264538 1 1
## 8: -0.8356286 1 1
## 9: -0.8204684 1 1
## 10: -0.3053884 1 1
dt[J(1)] # doesn't work
## x y z
## 1: NA NA 1
矢量扫描 正在运行,因为不需要 key 。使用 as.numeric(as.character(y))
也可以。也许 [
-operator in as.Numeric
是个问题?使用与 dt 1.8.10 相同的代码,一切都像预期的那样。要找出代码在 1.9.3 中不再工作的原因并不是那么容易...
这是一个错误吗?
附:
sessionInfo()
## R version 3.1.0 (2014-04-10)
## Platform: powerpc64-unknown-linux-gnu (64-bit)
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
## attached base packages:
## [1] splines grid stats graphics grDevices utils datasets
## [8] methods base
## other attached packages:
## [1] plyr_1.8.1 reshape2_1.4 lubridate_1.3.3 HP14int_0.1-15
## [5] Hmisc_3.14-4 Formula_1.1-1 survival_2.37-7 lattice_0.20-29
## [9] HP14unidata_1.1-1 data.table_1.9.3
## loaded via a namespace (and not attached):
## [1] cluster_1.15.2 digest_0.6.4 latticeExtra_0.6-26
## [4] memoise_0.2.1 RColorBrewer_1.0-5 Rcpp_0.11.1
## [7] stringr_0.6.2 tools_3.1.0
writeLines(paste("Endianess:", .Platform$endian))
## Endianess: big
最佳答案
现已修复 v1.9.5 on GitHub .感谢您的报告。
Compatibility with big endian machines (e.g., SPARC and PowerPC) is restored. Most Windows, Linux and Mac systems are little endian; type
.Platform$endian
to confirm. Thanks to Gerhard Nachtmann for reporting and the QEMU project for their PowerPC emulator.
关于r - PowerPC 和 SPARC(均为大端)上的 data.table 不正确行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805911/
我想创建一个基于 jQuery 的非常简单的 html 编辑器(不是所见即所得)。 我的问题是如何制作 textarea或 div可能 在上面写一些文字 然后样式即标签(例如 some stuff 将
根据文档 isset 条款“测试此项目中是否已设置给定属性”。我不明白设置属性时 isset 返回 true 还是 false 在下面的代码片段中,当 env.JAVA_HOME 未设置时,java.
我正在尝试取消映射 o这是执行 :only 的默认命令( :help :only ),所以我尝试的第一件事是: nmap o 这种作品,除非我按 ,等待超过timeoutlen ms 然后按 o
我有以下型号: class MetaData(models.Model): created_at = models.DateTimeField(auto_now_add=True, auto_
下面列出了两行代码。两者对日期和时间的期望相同,但只有一个有效。我正在使用 R 3.1。 以下不起作用: DateTime2=strftime("08/13/2010 05:26:24.350", f
我有一个关于 C 代码的问题。 #include void foo(void){ int a; printf("%d\n",a); } void bar(void){
如果文件大小 > 8k,为什么读取的最后一个字节 = 0? private static final int GAP_SIZE = 8 * 1024; public static void main(
我有一个命令 Get-Testdata从不同来源检索测试数据并将这些数据存储到 PSObject以不同的值作为属性。然后将对象总数存储为数组,以便于操作、排序、计算等。 我的问题是我希望能够将这些数据
我正在使用 epoll 将大消息写入使用 HTTP 协议(protocol)的服务器。 fds 都设置为非阻塞,我正在使用边缘触发事件。我知道对于 EPOLLIN,我需要循环读取 fd,直到返回 EA
这对我来说听起来很奇怪: $test_1 = 'string'; $test_2 = '0'; var_dump(intval($test_1)); // Output: int 0 var_dump
这个问题在这里已经有了答案: Java: Integer equals vs. == (7 个回答) 7年前关闭。 请您解释以下行为。 public class EqAndRef { publ
Drupal 的行为到底是什么? 它为模块开发人员提供什么类型的服务层? 它映射到 jQuery.ready 的关系类型是什么? 最佳答案 长版:Drupal.behaviors 不仅仅是 jQuer
以下代码: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ for (int i=0
人们可以将项目添加到数据库中。我让他们选择在此时添加它,或手动选择日期。 因此我得到了这个 HTML 结构。 (请注意,我将日期和时间选择器妥协为只有一行文本) Selec
创建了一个数据框: simpleDF is.na(simpleDF$vals) [1] TRUE TRUE FALSE > is.nan(simpleDF$vals) [1] FALSE TRU
我有一个大的 docker 镜像 A,我创建了一个新的 Dockerfile FROM A RUN rm /big-folder 我尝试使用以下方法构建图像: docker build --squas
我想知道以下情况下 JVM 的行为是什么: JVM 最小堆大小 = 500MB JVM 最大堆大小 = 2GB 操作系统有 1GB 内存 JVM启动后,程序运行一段时间后,使用内存超过1GB。我想知道
我们正在使用 spikeearrest 策略,但我们不了解其工作原理。峰值逮捕配置如下: 5pm 阅读文档,我们了解到,如果我们在一分钟内调用此流超过 5 次,则该策略将在第 5 次之后
我正在使用 cURL 发送 POST 请求: curl http://tarvos.local:8080/partial_Users/2 -d '{currentPage : 1, firstID :
我的表中有 6442670 条记录,我正在使用以下命令获取它们jdbctemplate 使用行号一次 1000000 个。以下是查询 select * from (select rowNum rn
我是一名优秀的程序员,十分优秀!