首页 文章
  • 0 votes
     answers
     views

    从plyr的ddply(或类似功能)中保存临时ouptut

    我有一个包含多个条件和参与者的大型数据集 . 我正在使用ddply,这样对于参与者X条件的每个组合,我可以运行许多函数并保存最终输出 . 由于从感兴趣的包中实施各种功能需要一些时间,因此整个分析可能需要1-2周 . 因此,我不仅希望等待ddply函数将最终输出保存在单个数据帧中,而且还希望保存临时输出,以防计算机崩溃,从而保存到目前为止完成的工作(即一种备份) . 例如,如果ddply函数在计算机...
  • 0 votes
     answers
     views

    创建用于聚合每日数据以匹配周期性数据的索引

    我有每日测量 prec.d 和定期测量 prec.p . 定期测量(相隔3-12天)大致是 start 和 end 日期之间每日测量的总和,我需要在两个数据帧中比较 prec . 到目前为止,我手动创建了一个索引 week ,表示每个周期性测量的时间 Span ,但以可重现的方式制作 week 会很棒 . data.frame prec.d day week prec 6/20/201...
  • 2 votes
     answers
     views

    使用预测进行更复杂的预测

    我'm a bit lost on whether there'是一种更简单的方法,可以使用 predict 从更复杂的回归框架中得出预测结果 . 举个例子,如下: NN<-1e4 data<-data.table(trt=sample(paste("Treatment",1:3),NN,T), qtl=sample(paste0(...
  • 106 votes
     answers
     views

    为什么X [Y]连接data.tables不允许完全外连接或左连接?

    这是关于data.table连接语法的一个哲学问题 . 我发现data.tables的用途越来越多,但仍在学习...... data.tables的连接格式 X[Y] 非常简洁,方便和高效,但据我所知,它只支持内连接和右外连接 . 要获得左外部或全外部连接,我需要使用 merge : X[Y, nomatch = NA] - Y中的所有行 - 右外连接(默认) X[Y, nomatc...
  • 62 votes
     answers
     views

    在data.table列中拆分文本字符串

    我有一个脚本,将CSV文件中的数据读入 data.table ,然后将一列中的文本拆分为几个新列 . 我目前正在使用 lapply 和 strsplit 函数来执行此操作 . 这是一个例子: library("data.table") df = data.table(PREFIX = c("A_B","A_C","A_D&quo...
  • 0 votes
     answers
     views

    如何在R中的直方图ggplot2上保持分类x的顺序

    我想绘制一个直方图,其中包含x上的类别和y上的分数 . 表中的顺序应该保存在图中,但是现在情节得到重新排序,我在SO上发现的几个帖子对我的情况没有帮助 . 比如我试过这个:Order Bars in ggplot2 bar graph require(data.table) require(ggplot2) table <- structure(list(a = c(1, 2, 3, 4,...
  • 1 votes
     answers
     views

    重新排序data.table记录的子集

    假设我有以下data.table: set.seed(123) dt <- data.table (id=1:10, group=sample(LETTERS[1:3], 10, replace=TRUE), val=sample(1:100, 10, replace=TRUE), l...
  • 18 votes
     answers
     views

    如何按组加速子集

    我曾经用dplyr实现我的数据争论,但有些计算是"slow" . 特别是按组子集,我读到dplyr很慢,当有很多组并基于this benchmark data.table可能会更快,所以我开始学习data.table . 以下是如何使用250k行和大约230k组重现与我的实际数据相近的内容 . 我想按id1,id2进行分组,并为每个组分配 max(datetime) 的行 . ...
  • 1 votes
     answers
     views

    R data.table不能与dplyr一起使用

    继发帖后:Fitting several regression models with dplyr 尝试将其应用于data.table时,我遇到了一个问题 . 当数据是data.frame时,问题不存在 例: library(data.table) library(dplyr) mtcarsDT <- data.table(mtcars) lmGroups <- mtcarsDT ...
  • 75 votes
     answers
     views

    dplyr在data.table上,我真的在使用data.table吗?

    如果我在 datatable 之上使用 dplyr 语法,在使用dplyr的语法时,是否可以获得数据表的所有速度优势?换句话说,如果我使用dplyr语法查询数据表,是否会误用数据表?或者我是否需要使用纯数据表语法来利用其所有功能 . 提前感谢任何建议 . 代码示例: library(data.table) library(dplyr) diamondsDT <- data.table(gg...
  • 1 votes
     answers
     views

    根据逻辑条件求和并将值移动到最接近的较小日期

    我有一个数据集 testdf (下面的输入),如下所示: head(testdf) # Date ID Value InCalendar #1 2014-01-01 A 0 TRUE #2 2014-01-02 A 18 TRUE #3 2014-01-03 A 0 TRUE #4 2014-01-04 A 10...
  • 3 votes
     answers
     views

    dplyr :: do如何使用data.table

    dplyr::do 似乎不适用于 data.table : # this works data.frame(1) %>% do(data.frame(1)) ## X1 ## 1 1 # same for a data.table does not work data.table(1) %>% do(data.frame(1)) ## Error in do_.dat...
  • 13 votes
     answers
     views

    是否存在与data.table :: rleid等效的dplyr?

    data.table 提供了一个很好的便利函数,rleid用于游程编码: library(data.table) DT = data.table(grp=rep(c("A", "B", "C", "A", "B"), c(2, 2, 3, 1, 2)), value=1:10) rleid(DT$g...
  • 4 votes
     answers
     views

    r data.table函数式编程/元编程/语言计算

    我正在探索使用data.table包装聚合函数(但实际上它可以是任何类型的函数)的不同方法(也提供了一个dplyr示例),并且想知道关于函数式编程/元编程的最佳实践 性能(对于data.table可能适用的潜在优化,实现是否重要) 可读性(有一个共同商定的标准,例如在大多数使用data.table的包中) 易于推广(元编程的方式是"generalizable") ...
  • 1 votes
     answers
     views

    将每个组的另一列乘以并划分多列

    我有一个具有以下结构的数据帧: # A tibble: 95 x 7 # Groups: WallReg_2p5 [19] CellID_2p5 Y_Coord_2p5Weighting WallReg_2p5 piC_1 piC_2 piC_3 piC_4 <int> <dbl> <chr> ...
  • 4 votes
     answers
     views

    条件非等连接

    library(tidyverse) iris <- iris means <- iris %>% group_by(Species) %>% summarise_all(funs(mean)) sd <- iris %>% group_by(Species) %>% summarise_all(funs(sd)) bott...
  • 7 votes
     answers
     views

    涉及因素的data.table赋值

    我正在使用 data.table (1.8.9)和 := 运算符来更新另一个表中的值 . 要更新的表(dt1)有许多因子列,带有更新的表(dt2)具有类似的列,其值可能不存在于另一个表中 . 如果dt2中的列是字符,我会收到一条错误消息,但是当我将它们分解时,我会得到不正确的值 . 如何在不将所有因子首先转换为字符的情况下更新表格? 这是一个简化的例子: library(data.table) ...
  • 3 votes
     answers
     views

    合并因子与data.table中的非因素会导致意外结果

    通过公共列合并两个data.tables,其中在一个data.table中,合并列是一个因子,而在另一个中它不会产生意外结果 . 不会抛出任何警告或错误,并且该问题对所涉及的基础data.tables具有奇怪的含义 . require(data.table) ##Create two tiny data.tables. data <- data.table(Country=c("A...
  • 62 votes
     answers
     views

    从data.table中删除多个列

    从data.table中删除多个列的正确方法是什么?我目前正在使用下面的代码,但是当我不小心重复其中一个列名时,却出现了意外行为 . 我不确定这是不是一个bug,或者我不应该这样删除列 . library(data.table) DT <- data.table(x = letters, y = letters, z = letters) DT[ ,c("x",&quot...
  • 6 votes
     answers
     views

    data.table中重复的colnames的setnames

    由于某些原因(无关紧要),excel导入数据帧中的colnames具有下面给出的重复项(DT是从数据帧DF转换的数据表) . 但是,这些是唯一的名称,因此需要使用 setnames . DF<-structure(list(X1 = c("", "15 May 2014", "16 May 2014", "18 May ...
  • 5 votes
     answers
     views

    带有空格的列名的data.table操作失败

    Reproducible example #Use the Iris data set library(data.table) iris colnames(iris)[3] <- "Petal Length" iris <- as.data.table(iris) 无空间访问列很好 iris[,Petal.Width] 但是访问名称包含空格的列不起作用 iri...
  • 0 votes
     answers
     views

    对所有组相对于“基线”组进行分组操作,并进行多次观察

    从包含每个组的多个观察的数据开始,如下所示: set.seed(1) my.df <- data.frame( timepoint = rep(c(0, 1, 2), each= 3), counts = round(rnorm(9, 50, 10), 0) ) > my.df timepoint counts 1 0 44 2 0 ...
  • 7 votes
     answers
     views

    选择第n个观察值并使用data.table按组进行求和

    我想通过选择 a 和 b 的一个组的最后一次观察,将第一个表变为第二个表, c 的第一个观察,为 d 和 e 的组的每个观察求和,并检查 f ,检查是否有效日期存在并使用该日期 . 表格1: ID a b c d e f 1 10 100 1000 10000 100000 ? 1 10 100 1001 ...
  • 0 votes
     answers
     views

    按组重复观察的百分比

    我有一个随时间变化的公司员工数据集,看起来像这样 data.table(firm = c(rep("A", 8), rep("B", 8)), employee = c(1, 2, 3, 4, 1, 2, 3, NA, 5, 6, NA, NA, 5, 6, 7, 8), year = c(rep(1, 4), ...
  • 1 votes
     answers
     views

    以离散属性值为条件对观察进行分组

    每个观察我有3个离散属性 . 如果对于2个观察值,这些属性中至少有2个采用相同的值,那么我想将它们组合在一起(实际上总是最多2个属性是相同的) . 我的想法是 Build 一个分组矩阵 . 每行和每列代表一个观察 . 行和列的交叉表示两个观测值的"similarity",如果至少两个属性值相同,则应采用值 TRUE ,否则为 FALSE . 这是我所做的可重复的示例( a ,...
  • 3 votes
     answers
     views

    如果每个观察可以属于多个组,则进行聚合

    我想按组聚合日期 . 然而,每个观察可以属于几个组(例如,观察1属于组A和B) . 我找不到用 data.table 实现这个目标的好方法 . 目前,我为每个可能的组创建了一个逻辑变量,如果观察属于该组,则该变量的值为 TRUE . 我正在寻找一种比下面提供的更好的方法 . 我也想知道如何用 tidyverse 实现这一目标 . library(data.table) # Data set.se...
  • 0 votes
     answers
     views

    在R中的某些观察之前选择组

    说 data=structure(list(x1 = c(88L, 88L, 94L, 82L, 68L, 72L, 43L, 84L, 65L, 91L, 65L, 80L, 82L, 63L, 67L, 58L, 100L, 32L, 75L, 66L, 30L, 12L, 97L, 58L, 14L, 64L), group = structure(c(2L, 2L, 2L, 2L, ...
  • 0 votes
     answers
     views

    在通过将R中的var分组来分隔某些观察之前选择组

    在本主题的延续select group before certain observations in R我有分组var - add (x或y) data=structure(list(add = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L...
  • 46 votes
     answers
     views

    如何在每个组中创建滞后变量?

    我有一个data.table: set.seed(1) data <- data.table(time = c(1:3, 1:4), groups = c(rep(c("b", "a"), c(3, 4))), value = rnorm(7)) data # grou...
  • 7 votes
     answers
     views

    使用data.table进行矩阵运算和分量加法

    如果事先不知道要求和的矩阵数,那么在组件方面添加组合的最佳方法是什么?更一般地说,是否有一种很好的方法在data.table的上下文中执行矩阵(或多维数组)操作?我使用 data.table 来通过几个固定变量或类别对数据进行排序和分组的效率,每个变量或类别包含不同数量的观察值 . 例如: 找到数据的每个观察(行)中给出的向量分量的外积,返回每行的矩阵 . 在每组数据类别的所有行上按组件顺...

热门问题