如何在TM词典中实现近似规则以计算单词?
目标 我想计算文档中" love"一词的次数,但前提是它不在一个单词之前,例如'而不是',例如"我喜欢电影"将算作一种外观,而"我不喜欢电影"不算是外观. 问题 如何使用TM软件包进行操作? R代码 下面是一些我想修改以进行上述的自身包含的代码. require(tm) # text vector my.docs
0 2023-12-03
编程技术问答社区
在R中用data.table进行Vlookup
首先,让我们从DataTable 1(DF1)开始: date id sales cost city name 1: 06/19/2016 1 149 101 MTL Bank1 2: 06/20/2016 1 150 102 MTL Bank1 3: 06/21/2016 1 151 104 MTL Bank1 4: 06/22/2016 1 152 107 MTL Bank1 5: 06/23/2016 1 155 99 MTL Bank1 6: 06/19/2016 2 84 55 NY Bank2 7: 06/20/2016 2 83 55 NY Bank2 8: 06/21/2016 2 80 56 NY Bank2 9: 06/22/2016 2 81 57 NY Bank2 10: 06/23/2016 2
2 2023-11-25
编程技术问答社区
如何在data.table中写出累积计算结果
顺序的累积计算 我需要进行一个时间序列计算,其中每行计算的值取决于上一行中计算的结果.我希望利用data.table的便利性.实际问题是一个水文模型 - 累积水平计算,在每个时间步骤增加降雨,并减去径流和蒸发随当前水量的函数.数据集包括不同的盆地和方案(组).在这里,我将使用该问题的简单说明. 一个简化的计算示例如下,对于每个时间步(行)i: v[i]
2 2023-11-17
编程技术问答社区
在大型数据集中,在每个案件提交时计算未结案件的高效方法
在大型数据集(〜1m案例)中,每种情况都具有"创建"和"审查" dateTime.我想计算在创建每个情况时开放的其他案例的数量.案例在其"创建"和"审查" dataTimes之间打开. 几种解决方案在小型数据集( 20分钟,使用6 * 4GHz内核和64GB RAM.即使有多核库,我也可以将时间减少8或10.不足以处理〜1m的情况. 我正在寻找一种更有效的方法来进行此计算.在下面,我提供了一个功能,该功能使您可以轻松地创建大量的"创建"和"审查" dateTime对以及到目前为止使用dplyr和data.table库的两个解决方案.为了简单起见,将这些时间报告给用户.您可以简单地更改顶部的" case_count"变量以重新执行并再次查看时间,并轻松比较您可能需要建议的其他解决方案的时机. 我将使用其他解决方案更新原始帖子,以适当地信誉其作者.在此先感谢您的帮助! # Load libraries used in this example library(dply
0 2023-11-17
编程技术问答社区
R-快速双样本t检验
我想使用单独的分组在R中进行两个样本T测试. T.test必须"公正",这意味着对于外部组中的所有交易(下面的第2组),必须为每个内部组(下面的第1组)进行t检验,例如:"内部组A" VS."内部组不是"".下面显示的for循环代码可能比口头说明更清晰... 我当前的代码在下面.有人知道这样做的速度/更好的方法吗?开放使用任何软件包,但当前使用data.table. 对于上下文,我有约100万行的交易数据.第1组表示一个人(如果有多个行,它们具有多个交易),并且包含〜30k唯一值.第2组表示邮政编码,并包含〜500个唯一值 谢谢! library(data.table) # fake data grp1
0 2023-11-17
编程技术问答社区
在data.table中按组创建新列
我没有数据经验. 使用data.frame我经常使用以下命令来检查唯一值的观察数: df$Obs=with(df, ave(v1, ID-Date, FUN=function(x) length(unique(x)))) 使用数据时是否有任何相应的方法? 解决方案 是的,有.令人高兴的是,您询问了data.table的最新功能之一,添加了v1.8.2: :=现在由组实施(FR#1491),并将其子分配给新列 通过参考,现在自动添加列(用NA初始化 子分配没有触摸)(FR#1997). :=可以组合所有 i的类型,So := by group 包括i以及by的分组. 由于:=按参考是由参考来的 (直接或间接)cbind s分组结果为DT的方法,因为 根本没有(大)DT的副本.这是一个简短自然的语法 可以与其他查询更复杂. DT[,newcol:=sum(colB),by=colA] 在您的示例中,iiuc,应该是: DT[, Obs:=.N, b
4 2023-11-17
编程技术问答社区
使用dplyr进行总结并保持相同的变量名
我发现数据和dplyr试图做同样的事情时会产生不同的结果.我想使用dplyr语法,但要以data.table的方式计算它.用例是我想在表中添加小计.为此,我需要对每个变量进行一些汇总,但然后保留相同的变量名称(在转换版本中).数据.表使我可以对变量进行一些聚合并保留相同的名称.然后使用相同的变量进行另一个聚合.它将继续使用未转换版本.但是,dplyr将使用转换版本. 在总结文档中,它说: # Note that with data frames, newly created summaries immediately # overwrite existing variables mtcars %>% group_by(cyl) %>% summarise(disp = mean(disp), sd = sd(disp)) 这基本上是我遇到的问题,但是我想知道是否有一个很好的解决方法.我发现的一件事就是将变换变量命名为其他内容,然后在最后重命名,但这对我来说并不好.
2 2023-11-13
编程技术问答社区
通过列名的字符向量对data.table进行排序
我想通过保存列的名称的变量订购data.table: 我已经尝试了 + eval , get and c` c'的每种组合而没有成功: 我有colVar = "someColumnName" 我想将其应用于:DT[order(colVar)] 解决方案 您可以使用双括号进行数据表: library(data.table) dtbl = 1.9.4)setorder也能够以减少顺序排序. 请注意setkey与setkeyv和setorder vs. setorderv之间的差异. v指出您可以通过引用的变
2 2023-11-13
编程技术问答社区
在R中强制将字符向量编码从 "未知 "改为 "UTF-8"
我有一个问题的问题. 我从UTF-8中编码了我读取的表的文本文件(我也尝试了UTF-8 without BOM.). 我想从此文本文件中读取表,将其转换为data.table,设置key并使用二进制搜索.当我尝试这样做时,以下出现: 警告消息: 在[.data.table中 在联接列中检测到已知的编码(Latin1或UTF-8).数据.表比较当前的字节,因此不支持 混合编码很好;即,同时使用latin1和utf-8,或者如果任何未知的编码是非aScii,其中一些是已知的,并且 其他人没有.但是,如果仅使用Latin1或UTF-8,则所有 未知的编码是ASCII,那么结果应该可以.在未来 如果一切正常,我们将检查您,并避免此警告.这 棘手的部分是这样做,而不会影响仅ASCII的性能 案例. 和二进制搜索不起作用. 我意识到我的data.table - key列都由:"未知"和" UTF-8"编码类型: > table(Encoding(poli.dt$wor
0 2023-11-11
编程技术问答社区
具体的是用R删除所有重复的内容
例如,我有两个列: Var1 Var2 1 12 1 65 2 68 2 98 3 49 3 24 4 8 5 67 6 12 ,我只需要显示对列列的唯一值: Var1 Var2 4 8 5 67 6 12 我可以这样做: mydata=mydata[!unique(mydata$Var1),] 但是,当我使用相同的公式为我的大数据集使用约100万个观察结果时,什么也不会发生 - 样本量仍然相同.你能解释一下我的原因吗? 谢谢! 解决方案 with data.table(似乎用它标记了)我会做 indx
6 2023-11-06
编程技术问答社区
数据表DT[i, j, by]不能使用i中的标准选择组,试图根据组内唯一值的数量进行过滤。
我不确定我的数据发生了什么,也许我缺少一些简单的东西. 我的数据集具有分配给每个ID的群集(点).我想过滤出只有一个群集分配给它们的那些ID, 例如. BS:100021 has only 1 cluster point assigned to it而BS:100135 has 6 cluster point assigned to it在以下示例中: set.seed(1) xx 1,.SD,dSc] 我仍然得到
12 2023-11-06
编程技术问答社区
Unique不再使用键作为默认值了
我主要在Mac中使用rstudio.最近,我必须开始使用Windows.但是,我发现unique()在数据中没有提供唯一的行.基于密钥表.这是一个示例: a=c(2,3,3,3,3,5,6,7) b=c("a","a","f","g","a","d","t","l") e=data.table(a,b) setkey(e, a) key(e) # this works fine unique(e) unique()仅删除整个行的副本(第5行).完全相同的代码在我的Mac上运行正常. 解决方案 这是因为您在两个上都有不同的数据.在Mac上,您有一个 如?unique中所述(在data.table v1.9.8+中): 默认情况下使用了所有列.最近改变了 数据的一致性.帧方法.版本 含义,从现在开始,即使您已经有了键,也需要明确指定by变量,否则它将仅使用所有列. 在您的特定示例中,这起作用 unique(e, by = "a") # a b
4 2023-11-06
编程技术问答社区
在R中按不同的列值求和
我在r中有一个非常大的数据框,想对其他列中的每个独特价值总和两个列,例如,我们每天都有各个商店中交易的数据框架的数据,如下所示 shop
6 2023-11-06
编程技术问答社区