7得票3回答
`j`在每个组中没有评估为相同数量的列

我想使用data.table,其中我的函数可能会在每次调用时返回不同数量的列。我希望它的行为类似于,即用填充任何缺失的列。 fetch <- function(by) { if(by == 1) data.table(A=c("a"), B=c("b")) ...

27得票2回答
在data.table中按特定顺序重新排序行

我有一个 data.table dumdt:set.seed(123) dumdt <- data.table(v1=sample(1:10, 5), v2=1:5) 我希望按照特定的顺序(先第三个观察值,然后是第五个,接着是第二个等)重新排列其行:to_ord <- c(3, 5...

7得票3回答
按行过滤数据表中每行值的函数,使用data.table。

对于我来说,从data.frame语法切换到data.table语法仍然不够顺畅。我认为下面的事情应该很简单,但并不是这样。我在这里做错了什么: > DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9) &gt...

15得票1回答
数据表(data.table)与plyr回归输出的比较结果

data.table软件包在速度方面非常有帮助。但是,我遇到了实际使用线性回归输出的问题。有没有一种简单的方法可以使data.table输出像plyr软件包那样漂亮/有用呢?以下是一个示例。谢谢!library('data.table'); library('plyr'); REG <...

58得票1回答
在data.table中插入一行

如果我有一个数据框set.seed(12345) df=data.frame(a=rnorm(5),b=rnorm(5)) 我可以通过以下方式添加一行: df[6,] =c(5,6) 现在如果我在data.table中进行相同的操作library(data.table) dt=data....

9得票4回答
高效地将data.table中的日期列转换

我有一个包含许多列的大型数据集,其中包含两种不同格式的日期: "1996-01-04" "1996-01-05" "1996-01-08" "1996-01-09" "1996-01-10" "1996-01-11" 和 "02/01/1996" "03/01/1996" "04/01...

49得票4回答
R数据表滑动窗口

使用data.table包最好(最快)的实现滑动窗口函数的方法是什么? 我正在尝试计算滚动中位数,但每个日期有多行数据(由于其他两个因素),这意味着zoo rollapply函数可能不起作用。以下是一个使用简单for循环的示例:library(data.table) df <- dat...

8得票2回答
使用dplyr按多列索引/键进行子集化(有data.table解决方案)

我希望找到一种在dplyr中处理下列情况的方法(或重新思考如何处理任务),而不是“回归”到data.table,因为我在此块之前/之后的大部分分析都是使用dplyr完成的。 情况:给定一个多个复制数据集的模拟数据集,我想据此基于两列关键字(ID和REP)进行子集筛选/dplyr::filte...

9得票1回答
R中的内部字符串缓存

这个问题源自于以下的data.table bug报告 - #4978,但是我会使用一个data.frame的例子来说明这不是一个data.table特定的问题: 考虑以下内容: df = data.frame(a = 1, hø = 1) identical(names(df), c("...

12得票1回答
在data.table中如何从`j`中访问`by`变量

如果我有一个data.table,并且在j中进行一些函数调用,那么我是否可以访问by变量的当前值?library(data.table) d <- data.table(x=1:10, y=c('a', 'b')) myfun <- function(DT) { print ...