[英]How to assign same id number based on string value R
我有一個字符串向量。 每個都以 f1_ 或 f2_ 開頭。
> lst_c<-c("f1_cat", "f2_cat", "f1_dog", "f1_camel", "f2_camel")
> lst_c
[1] "f1_cat" "f2_cat" "f1_dog" "f1_camel" "f2_camel"
我想要的是比較除前 3 個字符(f1_/f2_)之外的所有內容,並在匹配時為它們分配相同的值
預期輸出
> df
name id_f
1 f1_cat 1
2 f2_cat 1
3 f1_dog 2
4 f1_camel 3
5 f2_camel 3
這里有一個方法
x <- substring(lst_c, 4, nchar(lst_c))
match(x, unique(x))
# [1] 1 1 2 3 3
nchar(lst_c)
返回lst_c
每個元素的字符數。 substring(...)
將刪除在從放入系統元件的第一個3字符lst_c
並返回
x <- substring(lst_c, 4, nchar(lst_c))
x
# [1] "cat" "cat" "dog" "camel" "camel"
最后,我們使用match
來獲取“第二個參數中第一個參數的(第一個)匹配的位置”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.