r - 在 r 中应用索引
问题描述
我有数据索引。我希望将索引中的第一个值应用于该索引中的所有其他值。下面是我做的一个例子。
index<-c(1,1,1,2,2,2,2,2,3,3)
animal<-c("cat","dog","lion","chicken","frog","goat","sheep","elephant","tiger", "bear")
df<-as.data.frame(cbind(index,animal))
index animal
1 1 cat
2 1 dog
3 1 lion
4 2 chicken
5 2 frog
6 2 goat
7 2 sheep
8 2 elephant
9 3 tiger
10 3 bear
结果应如下所示:
index animal
1 1 cat
2 1 cat
3 1 cat
4 2 chicken
5 2 chicken
6 2 chicken
7 2 chicken
8 2 chicken
9 3 tiger
10 3 tiger
解决方案
这是一种选择
df$animal <- with(df, animal[cummax(seq_along(index) * !duplicated(index))])
推荐阅读
- java - Apache WebClient 303 状态不重定向
- docker - gitlab ci runner 不知道 mocha
- java - (Android) 以编程方式创建的 ImageView 不会添加到 LinearLayout
- sql - Entity Framework Core:生成的 SQL 不起作用
- java - 最佳实践:如何为 spring jpa 项目实现插件?
- html - 在呈现的 pandoc 输出中忽略特定 MD 文件的问题
- mysql - 如何找到最想要的 3 个滑水板,按报价数量降序排列;
- c# - 从 .NET 6.0.0-preview.3.21201.13 升级到 6.0.0-preview.4.21253.5,app.UseBlazorFrameworkFiles();导致错误
- mongodb - 如何优化我编写的查询以查找用户以及使用聚合的最后一个订单详细信息,它显示我超时,因为数据集很大
- java-9 - Java 作为 Windows 服务与 Apache Procrun 和 --add-module --add-opens --add-exports