如何从data.frame中获取最新条目并将其存储在新的dataframe中
我有一个充满数据的data.frame,其中参数的数据会重复自身,但我想使用存储的最新信息 谢天谢地,我在文件中有一个索引,它告诉我data.frame中的当前行是哪个副本 我的问题示例如下:如何从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 一个小小的
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的替代物。