相关疑难解决方法(0)

确定data.frame的列何时更改值并返回更改的索引

我试图找到一种方法来确定一组列何时更改data.frame中的值.让我直截了当,请考虑以下示例:

x<-data.frame(cnt=1:10, code=rep('ELEMENT 1',10), val0=rep(5,10), val1=rep(6,10),val2=rep(3,10))
x[4,]$val0=6
Run Code Online (Sandbox Code Playgroud)
  • cnt列是一个唯一的ID(可以是日期或时间列,为简单起见,这里是一个int)
  • 代码列就像行集的代码(想象几个这样的组,但具有不同的代码).代码和cnt是我的data.table中的键.
  • val0,val1,val2列就像得分一样.

上面的data.frame应该读作:'ELEMENT 1'的分数从5,6,3开始,一直保持到4迭代时它们变为6,6,3,然后再变回5,6 ,3.

我的问题是,有没有办法获得data.frame的第1,第4和第5行?有没有办法检测列何时发生变化?(有12列btw)

我尝试使用重复的data.table(在大多数情况下完美地工作)但在这种情况下它将删除所有重复项并仅保留第1行和第4行(删除第5行).

你有什么建议吗?我宁愿不使用for循环,因为有大约.2M行.

r duplicates dataframe data.table

11
推荐指数
1
解决办法
2943
查看次数

标签 统计

data.table ×1

dataframe ×1

duplicates ×1

r ×1