我在 Python 中看到過類似的回答,但對于 R 沒有看到類似的回答。假設我有下面的示例資料,我想創建“想要”列,當字符“|”出現時它會標記 在“var1”列的字串中出現不止一次。我將如何在 R 中做到這一點?我知道我可以grepl在任何時候使用“|”來標記 出現,但這也會在它只出現一次時捕獲。
樣本資料:
var1<-c("BLUE|RED","RED|BLUE","WHITE|BLACK|ORANGE","BLACK|WHITE|ORANGE")
want<-c(0,0,1,1)
have<-as.data.frame(cbind(var1,want))
var1 want
BLUE|RED 0
RED|BLUE 0
WHITE|BLACK|ORANGE 1
BLACK|WHITE|ORANGE 1
uj5u.com熱心網友回復:
str_count可以用 - 計算|(元字符的數量- 所以轉義(\\)或指定為fixed,然后創建一個邏輯向量(> 1),將邏輯轉換為二進制(as.integer或 )
library(stringr)
have$want <- (str_count(have$var1, fixed("|") ) > 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/396854.html
下一篇:使用特定格式決議C 中的字串
