正确使用freaddata.table加载integer64,虽然我的印象是by语句没有正确处理int64.我可能在这里做错了,这是什么?
library(data.table); library(bit64);
test = data.table(x=c(1,2,3),y=c('x','q','q'),ID=as.integer64(c('432706205348805058','432706205348805058','432706205348805059')))
str(test) #the display is wrong (BUT IT IS EXPECTED)
#Classes ‘data.table’ and 'data.frame': 3 obs. of 3 variables:
# $ x : num 1 2 3
# $ y : chr "x" "q" "q"
# $ ID:Class 'integer64' num [1:3] 9.52e-280 9.52e-280 9.52e-280
# - attr(*, ".internal.selfref")=<externalptr>
test # Here it is displayed correctly
# x y ID
#1: 1 x 432706205348805058
#2: 2 q 432706205348805058
#3: 3 …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在使用vim创建新文件时自动添加一些框架代码
我在go上搜索并搜索了在创建新的python文件时创建自动标题的方法.我希望能找到一些与snipMate有关但却找不到的东西.我使用bash-suport,perl-support来提供这个功能并且喜欢它.如果它可以帮助我也是python-mode的用户
我想要这样的东西:
#!/usr/bin/python
#-*- coding: utf-8 -*-
#===============================================================================
#
# FILE: test.py
#
# USAGE: ./test.py
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: YOUR NAME (),
# ORGANIZATION:
# VERSION: 1.0
# CREATED: 09/12/2012 13:38:51
# REVISION: ---
#===============================================================================
def main():
"""docstring for main"""
pass
Run Code Online (Sandbox Code Playgroud)
非常感谢阅读
这是我的示例数据,我不明白为什么该ITime列在使用该data.table包的以下代码中丢失了它的格式
DT = data.table(x=as.POSIXct(c("2009-02-17 17:29:23.042",
"2009-02-17 17:29:25.160")),
y=c(1L,2L))
DT[,x1:=as.ITime(x)]
DT[,`:=`(last.x=tail(x,1L),last.x1=tail(x1,1L)),by=y]
DT
x y x1 last.x last.x1
1: 2009-02-17 17:29:23.042 1 17:29:23 1234888163 62963
2: 2009-02-17 17:29:25.160 2 17:29:25 1234888165 62965
Run Code Online (Sandbox Code Playgroud)
但如果data.table已经知道如下的格式,它的工作原理
DT = data.table(x=as.POSIXct(c("2009-02-17 17:29:23.042",
"2009-02-17 17:29:25.160")),
y=c(1L,2L))
DT[,x1:=as.ITime(x)]
DT[,`:=`(last.x=x,last.x1=x1)] #HERE DATA>TABLE KNOWS THE LAST.* FORMAT
DT[,`:=`(last.x=tail(x,1L),last.x1=tail(x1,1L)),by=y]
R) DT
x y x1 last.x last.x1
1: 2009-02-17 17:29:23.042 1 17:29:23 2009-02-17 17:29:23.042 17:29:23
2: 2009-02-17 17:29:25.160 2 17:29:25 2009-02-17 17:29:25.160 17:29:25
Run Code Online (Sandbox Code Playgroud)
它必须是关于如何data.table分配的东西,有解决方法吗?
更新 …
按照上一个问题使用data.table
DT = data.table(x=sample(letters,1e7,T),y=sample(1:25,1e7,T),rnorm(1e7))
setkey(DT,x,y)
Run Code Online (Sandbox Code Playgroud)
我们可以使用二进制搜索来查找
DT[x=='a' | y==25]
Run Code Online (Sandbox Code Playgroud)
记住这一点 DT[J('a',25)] == DT[x=='a' & y==25]
我有一个data.table,并希望按组计算统计数据.
R) set.seed(1)
R) DT=data.table(a=rnorm(100),b=rnorm(100))
Run Code Online (Sandbox Code Playgroud)
这些群体应该由
R) quantile(DT$a,probs=seq(.1,.9,.1))
10% 20% 30% 40% 50% 60% 70% 80% 90%
-1.05265747329 -0.61386923071 -0.37534201964 -0.07670312896 0.11390916079 0.37707993057 0.58121734252 0.77125359976 1.18106507751
Run Code Online (Sandbox Code Playgroud)
我如何计算出每箱的平均值b,比如b=-.5我是否[-0.61386923071,-0.37534201964]在bin中3
我希望能够在渲染数据表时获得"更细"的行DT(即减小该高度)
options(digits.secs=6)
library(data.table)
d = data.table(x = 1:10,time = as.POSIXct('2015-03-23 12:00:00.123'))
library(DT)
datatable(d)
Run Code Online (Sandbox Code Playgroud)
在编写 rmarkdown 时,html_document我经常会显示连续的代码块,但没有输出。当这种情况发生时,就像当
我希望代码块被“合并”。我知道ref.label = ""并且可以用它来完成,但它会使块标签变得极其复杂/沉重。
是否有一些 javascript、css、选项魔法可以帮助我实现我想要的目标?
例子:
---
title: "Test"
date: '`r Sys.Date()`'
output: html_document
---
# Title 1
Some text
```{r, echo = TRUE, eval = FALSE}
1 + 1 # eval = FALSE so no output
```
```{r, echo = TRUE, results = "hide"}
1 + 2 # results hidden so no output
```
```{r, echo = TRUE}
1 + 3
```
Some other text
```{r, echo = TRUE, eval …Run Code Online (Sandbox Code Playgroud) 我使用fread的data.table加载CSV文件.但是我的csv文件dec=","用作小数分隔符(1.23将是1,23).不像read.csv它似乎dec不是一个允许的参数.
R) args(fread)
function (input = "test.csv", sep = "auto", sep2 = "auto", nrows = -1,
header = "auto", na.strings = "NA", stringsAsFactors = FALSE,
verbose = FALSE, autostart = 30)
Run Code Online (Sandbox Code Playgroud)
你是否看到了一个可以使用的工作(可以设置的R选项)fread(它快得多,它可以节省我很多时间)?
PS:colClasses尚未实现,因此setAs不能像在这篇文章中那样使用
我在R中使用ROracle访问Oracle数据库。
我注意到,大概是从夏季更改以来,任何DATE(日期时间)Oracle列现在都被错误地转换了(R中的小时数比Oracle DB中的小时数少)。
从小插图的第12页(我几乎不了解),它看起来像ROracle和R交换日期时间为自UTC 1970年1月1日以来的秒数,并且R随后针对本地时区进行了调整。
这是我的工作
drv <- dbDriver("Oracle");
con <- dbConnect(drv, username = Login, password = Pwd, dbname = DB, prefetch=TRUE, bulk_read=1e6);
test.query <- "SELECT * FROM MYTABLE WHERE ( A > to_date('2008-03-03 12:30:00', 'YYYY-MM-DD HH24:MI:SS') AND A < to_date('2008-03-03 12:40:00','YYYY-MM-DD HH24:MI:SS') AND [other stuff])"
test <- dbGetQuery(con, test.query);
head(test[,c("A","B","C")])
# A B C
#1 2008-03-03 11:30:38 2008-03-02 23:00:00 2008-03-02 23:00:00 #HERE IT SHOULD BE +1 HOUR
#2 2008-03-03 11:30:38 2008-03-02 …Run Code Online (Sandbox Code Playgroud)