gpt4 book ai didi

r - 在 R 数据帧中一次获取多个值的尾部索引

转载 作者:行者123 更新时间:2023-12-04 10:07:54 24 4
gpt4 key购买 nike

如果问题有点罗嗦,我深表歉意,但我相信这里的一个例子会澄清问题。我有以下数据框:

structure(list(teamName = c("Brazil", "Germany", "Spain", "England", 
"France", "Spain", "France", "Germany", "Brazil", "England",
"Spain", "France", "Brazil"), wins = c(0, 0, 0, 0, 0, 1, 1, 1,
1, 1, 1, 2, 1), losses = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1), ties = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0)), .Names = c("teamName",
"wins", "losses", "ties"), row.names = c(NA, 13L), class = "data.frame")

teamName wins losses ties
1 Brazil 0 0 0
2 Germany 0 0 0
3 Spain 0 0 0
4 England 0 0 0
5 France 0 0 0
6 Spain 1 0 0
7 France 1 0 0
8 Germany 1 0 0
9 Brazil 1 0 0
10 England 1 0 0
11 Spain 1 0 1
12 France 1 0 1
13 Brazil 1 1 0

其中有一些足球国家,我想过滤这个数据框,使其只包含每支球队的最后一行。虽然这里有5个团队,但不一定是dataframe中最后5行就是我想要的5行。在这种情况下,在最后一个德国行之前有 2 行巴西。

对于此示例,每个团队最后一行的行索引为 8、10、11、12 和 13。

有没有一种简单的方法来获取这些索引而不必使用 for 循环?

谢谢!

最佳答案

您可以使用 duplicated 在基础 R 中执行此操作

Soccer[!duplicated(Soccer$teamName, fromLast=TRUE),]
teamName wins losses ties
8 Germany 1 0 0
10 England 1 0 0
11 Spain 1 0 1
12 France 2 0 1
13 Brazil 1 1 0

关于r - 在 R 数据帧中一次获取多个值的尾部索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com