data.table相关内容
一些玩具数据 set.seed(123)df 如何在 data.table 中生成新变量这是以下使用循环的结果? New_Var_1 = what_ever/hat_everNew_Var_2 = this_is/who_isNew_Var_3 = wtf_nnn/mmm_nnn 我在这里对列名进行排序 nm
..
我一直在努力减少制作大量功能/数据切片略有不同的图表所需的复制和粘贴量. 这是我正在尝试做的一个简化示例: test
..
我有一份报告需要应用于不同名称的 data.tables [j 和 by].我通过将参数包装在 eval(substitute(value)) 函数中来完成它的唯一方法.这会降低代码的可读性.我已将 j 参数命名为“变量",但我想将函数的 j 参数传递给 setnames 函数. 所以,问题是: 有没有办法避免 eval(substitute(value)) 构造? 我可以将 j
..
是否存在使用 data.table 分组计算滚动统计数据的现有习惯用法? 例如,给定以下代码: DT = data.table(x=rep(c("a","b","c"),each=2), y=c(1,3), v=1:6)设置键(DT,y)stat.ror
..
我正在尝试创建一个函数,甚至只是想出如何使用 data.table 语法运行循环,我可以按因子对表进行子集化,在这种情况下是 id 变量,然后在每个子集上运行线性模型,然后出结果.示例数据如下. df
..
在 R data.tables 中,我可以使用这种语法来添加一个新列: >dt 但是我如何像这样在 dt 的前面插入 c: c a b1:4 1 32:6 2 4 我查看了SO,发现有人建议data.frames使用cbind,但我使用:=更方便code> 语法在这里,所以我想知道是否有 data.table 认可的方式来执行此操作.我的 data.table 大约有 100 列,所以
..
我有一个 14GB 的 data.txt 文件.我通过读取前 1M 行来比较 fread 和 read.table 的速度.看起来 fread 慢得多,尽管它不应该如此.百分比计数出现需要一些时间. 可能是什么原因?我认为它应该超级快......我使用的是 Windows 操作系统计算机. 解决方案 fread mmaps 文件.这需要一些时间,并且会映射整个文件.这意味着后续的“读
..
我有两个 data.tables,一个有另一个的行/列的子集.我想将较小的 data.table 的值添加到较大的值: DT1 我想将 DT1 添加到 DT2 以便我得到 # rn a b c#1:一个 0 4 1#2: b 1 5 0#3:c 1 1 3 我知道我可以很容易地用 DT1 覆盖 DT2 的值: DT2[DT1, 名称(DT1) := DT1, on="rn"] 我希望
..
我有一个大数据集,其中包含许多看起来与此类似的变量: >data.table(a=字母[1:10],b=字母[1:10],ID=c(1,1,1,2,2,2,2,3,3,3))投标1:一个 A 12:乙乙13:c C 14:d D 25: e E 26: f F 27:克G 28:h H 39:我我 310: ĴĴ 3 我想为每个 ID 值连接除 ID 之外的所有列值(它们之间带有换行符),因
..
我有一个如下所示的 data.table: x, y, sum(count)1、1、31、2、71、3、82、1、42、2、32、3、10 等等.它由 x 和 y 键入,我在 count 列上做了一个 sum.我想按 x 的值将其分解为百分比,使其变为: x、y、百分比(计数)1, 1, 16.71、2、38.91, 3, 44.42, 1, 23.52, 2, 17.62, 3, 58.8
..
我有两个包含许多字段的 data.tables. 我想连接这两个表,添加一些计算字段并附加来自第一个、第二个或两个表的所有其他字段(类似于 SQL 的 select a+b AS sum, DT1.*, DT2.* FROM...) 无需输入所有字段名称. 我该怎么做(关于最简单的语法和最佳性能)? 简化示例数据: 库(data.table)DT1 = data.table(x
..
在 data.table 中执行以下操作的惯用方式是什么? 库(dplyr)df %>%group_by(b) %>%切片(1:10) 我可以的 库(data.table)df[, .SD[1:10], 由 = b] 但这看起来要慢得多.有没有更好的办法? set.seed(0)df %data.table(a = runif(长度(.)),b = .)f1 %group_by(b) %
..
我已经开始将 data.table 用于大型人口模型.到目前为止,我印象深刻,因为使用 data.table 结构将我的模拟运行时间减少了大约 30%.我正在尝试进一步优化我的代码并包含一个简化的示例.我的两个问题是: 是否可以在此代码中使用 := 运算符? 使用 := 运算符会更快(尽管,如果我能够回答我的第一个问题,我应该能够回答我的问题 2!)? 我在运行 Windows 7
..
使用 := 方法添加新变量后,环境面板中的 data.table 对象将不会更新其预览.但是 str(dt) 显示了正确的详细信息,并且将 dt 分配给新变量会在“环境"面板中产生正确的预览. dt
..
[.data.table 中的set 函数或表达式:= 允许用户通过引用来更新data.tables.这种行为与将操作结果重新分配给原始 data.frame 有何不同? keepcols 由于表达式
..
我喜欢连接两个表,它们有一些相同的列(名称和值),而另一些则没有.我只对加入那些不相同的人感兴趣,我想为他们确定一个新名字.对于我拥有 100 多列的真实表,我目前的做法似乎很冗长且难以处理,即我想提前确定要连接的列,而不是在 join 语句中.可重现的例子: #创建表1DT1 = data.table(id = 1:5, x=letters[1:5], a=11:15, b=21:25)# 创
..
我的数据包含时间变量和选择的品牌变量,如下所示.time表示购物时间,choicebrand表示当时购买的品牌. 使用这些数据,我想创建排名变量,如第三列、第四列等所示. 品牌排名(例如,brand1 - brand3)应基于过去 36 小时.因此,要计算第二行的排名,其中 shoptime 为 "2013-09-01 08:54:00 UTC",排名应基于所有 chosenbrand
..
我有一个数据框,我在该数据框上计算特定列的运行长度编码.dir 列的值为 -1、0 或 1. dir.rle
..
A) 而不是这个(其中 cars 50, .(`总计:`=.N, x
..
我有一个等位基因身份的 data.table(行是个体,列是基因座),按单独的列分组.我想按组有效地计算每个基因座的等位基因频率(比例).示例数据表: DT = data.table(Loc1=rep(c("G","T"),each=5),Loc2=c("C","A"), Loc3=c("C","G","G","G","C","G","G","G","G","G"),组=c(rep("G1",
..