作者jezi1878 (小天使)
看板R_Language
标题[问题] 如何选取向量中出现不同日期的第一个位
时间Wed Jul 20 08:36:33 2022
各位 我有一个日期向量,格式如下,想找出向量中出现不同日期的第一个位置
“20210801” “20210801” “20210806”
“20210806” “20210806” “20210806”
“20210921” “20210921” “20210921”
“20210928” “20210929”
我想要 这些日期第一个出现的位置(如下)
日期 位置
“20210801”, 1
“20210806”, 3
“20210921”, 7
“20210928”, 10
“20210929”, 11
请问要如何一次性找出来
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.12.26.45 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1658277395.A.E31.html
※ 编辑: jezi1878 (101.12.26.45 台湾), 07/20/2022 08:37:30
※ 编辑: jezi1878 (101.12.26.45 台湾), 07/20/2022 08:38:48
※ 编辑: jezi1878 (101.12.26.45 台湾), 07/20/2022 08:40:03
1F:→ llssdog: shift一格相减,取大于0的位置如何? 07/20 10:52
2F:推 hohiyan: 笨方法:转成data.frame後,用unique(),rowname()为位置 07/20 11:02
4F:推 lycantrope: 如果资料没有sort shift一格相减不一定会正确 07/20 11:59
5F:→ lycantrope: 用dplyr就是aggregate+first或group_by+first 07/20 12:02
6F:推 Gjerry: which(!duplicated(x)) 07/20 14:08
7F:→ Gjerry: 这方法不论是否已经排序,都会回传该值第一次出现的位置 07/20 14:13
8F:→ jkchang: match(unique(x), x)) 07/20 16:54
9F:推 hohiyan: 综合以上,在保持vector而不转成data.frame的状况下: 07/20 21:30
10F:→ hohiyan: cbind(unique(x), which(!duplicated(x)) 同时有值跟位置 07/20 21:31