簡體   English   中英

如何根據字符串值 R 分配相同的 ID 號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM