R比较行之间的列

德国人

由于我或多或少是R的初学者,因此我面临以下挑战。

我有一个类似的data.frame这样:

   a  b      c
1  x g1  date1
2  x g1  date2
3  y g2  date3
4  y g3  date4
5  y g4  date5
6  z g1  date6
7  z g2  date7
8  x g4  date8
9  y g1  date9
10 y g3 date10

我想做的是将列a中的第一个值与第二个值进行比较。如果它们相同,则在b列中检查是否g2遵循g1

该数据是按日期排序,我基本上要找到出现的次数,其中g2如下g1而列对应的数值a是相似的。

在上面的示例数据中,总和为1。(第6行和第7行)

大卫·阿伦堡(David Arenburg)

有一种更简单的方法,但这是我的data.table尝试

library(data.table) ## v 1.9.6+
setDT(df)[a == shift(a, type = "lead") & b == "g1" & shift(b, type = "lead") == "g2", .N]
## [1] 1

这基本上是a与平移a进行比较同时检查b列是否等于g1以及平移b列是否等于g2您需要data.tableCRAN上的最新版本才能正常工作。


dplyr在这些行中使用它可能会有所帮助

library(dplyr)
df %>%
  filter(a == lead(a) & b == "g1" & lead(b) == "g2") %>%
  count()
# Source: local data table [1 x 1]
# 
#       n
#   (int)
# 1     1

或与基数R

sum(with(df, a == c(tail(as.character(a), -1), NA) & b == "g1" & c(tail(as.character(b), -1), NA) == "g2"))
## [1] 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

行之间的日期比较

来自分类Dev

R中跨列的行值比较

来自分类Dev

R按行比较列值

来自分类Dev

根据两列之间的比较为行着色

来自分类Dev

R-高效比较数据帧之间的行子集

来自分类Dev

比较两列之间的数据

来自分类Dev

根据各列之间的比较,将最大值的列名称分配给行

来自分类Dev

创建新列以在熊猫数据框中的行之间进行比较

来自分类Dev

通过比较更多列值(标题名称之间有空格)来删除行

来自分类Dev

r中具有条件的列之间的字符值比较

来自分类Dev

使用R中的矢量化代码在多列之间比较和替换值

来自分类Dev

在要删除的数据行之间进行比较

来自分类Dev

R:汇总从A列到B列的条件值之间的行

来自分类Dev

R中基于列值的行之间的差异

来自分类Dev

R中基于列值的行之间的差异

来自分类Dev

比较不同文件之间的列

来自分类Dev

varchar和int列之间的比较问题

来自分类Dev

2列之间的条件格式比较日期

来自分类Dev

2列之间的条件格式比较日期

来自分类Dev

2个Csv列之间的比较对象

来自分类Dev

量化两列VBA之间的比较

来自分类Dev

矩阵行和列的比较

来自分类Dev

与列表类型列的行比较

来自分类Dev

如何比较行和列?

来自分类Dev

向量与r中的矩阵之间的逐行比较

来自分类Dev

在R中执行日期之间的行间比较

来自分类Dev

R create循环比较行

来自分类Dev

蜂巢中数组列值与正常列值之间的比较

来自分类Dev

R-按列比较两行并将结果写入表