如何从data.frame中获取最新条目并将其存储在新的dataframe中

如何从data.frame中获取最新条目并将其存储在新的dataframe中,r,R,我有一个充满数据的data.frame,其中参数的数据会重复自身,但我想使用存储的最新信息 谢天谢地,我在文件中有一个索引,它告诉我data.frame中的当前行是哪个副本 我的问题示例如下: A B C D 1 1 2 3 1 2 1 2 2 2 3 3 4 2 2 4 3 4 1 3 5 2 3 2 1 6 2 1 1 1 一个小小的

我有一个充满数据的data.frame,其中参数的数据会重复自身,但我想使用存储的最新信息

谢天谢地,我在文件中有一个索引,它告诉我data.frame中的当前行是哪个副本

我的问题示例如下:

    A    B    C    D
1   1    2    3    1
2   1    2    2    2
3   3    4    2    2
4   3    4    1    3
5   2    3    2    1
6   2    1    1    1
一个小小的解释。。。A和B列可视为键,C列表示该键的值。。。D列表示度量的索引。。但它不必从1开始。。。它可以从3,6开始。。。任意整数。发生这种情况是因为数据不完整

因此,最后的输出应该是:

    A    B    C    D
2   1    2    2    2
4   3    4    1    3
5   2    3    2    1
6   2    1    1    1
你们能帮我编一个R程序吗,或者给我指一个正确的方向,那个就是用最新的索引保存所有的键

我尝试过使用for循环,但没有效果

衷心感谢


如果您有任何问题,请随时询问

您可以使用
dplyr
动词对数据进行分组
groupby
,然后排序
排列
do
动词允许您在组级别进行操作<代码>尾部抓取每组的最后一行

library(dplyr)
df1 <- df %>%
          group_by(A,B) %>%
          arrange(D) %>%
          do(tail(.,1)) %>%
          ungroup()

您可以使用
dplyr
动词对数据进行分组
groupby
,然后排序
arrange
do
动词允许您在组级别进行操作<代码>尾部抓取每组的最后一行

library(dplyr)
df1 <- df %>%
          group_by(A,B) %>%
          arrange(D) %>%
          do(tail(.,1)) %>%
          ungroup()

使用
duplicated
和base R中的子集,您可以

dat[!duplicated(dat[,1:2], fromLast=TRUE),]
  A B C D
2 1 2 2 2
4 3 4 1 3
5 2 3 2 1
6 2 1 1 1

duplicated
返回一个逻辑向量,指示行(此处为前两列)是否已复制。
fromLast
参数从data.frame的底部启动此过程。

使用
duplicated
和base R中的子集,您可以

dat[!duplicated(dat[,1:2], fromLast=TRUE),]
  A B C D
2 1 2 2 2
4 3 4 1 3
5 2 3 2 1
6 2 1 1 1
duplicated
返回一个逻辑向量,指示行(此处为前两列)是否已复制。
fromLast
参数从data.frame的底部启动此过程。

可能是
slice(n())
或者是
do
的替代物。可能是
slice(n())
或者是
do的替代物。