[英]Replace Character Elements in vector with Numbers in R
我有一個包含字符串/字符元素的數據幀中的向量,並且我想根據數字是否包含某些字符組來用數字替換這些字符串/字符元素,我想知道如何才能做到這一點。 例如,假設我有一個帶有字符串元素的數據框中的列,如下所示:
df$Stringvector <- c("aaca", "bbb", "edee", "ca bb" "ttt t", "ui de", "k jkl")
現在,我想做的是如果元素具有字符組合ca
或de
,則將矢量的元素替換為1
如果元素不包含任何組合,則將其替換為2
。 由於df$Stringvector
的第1,第3,第4和第6個元素在其字符串中具有ca
和de
,因此將它們替換為1
,而將所有其他元素替換為2
以便我們現在獲得:
df$Stringvector <- c(1,2,1,1,2,1,2)
什么是這樣做的好方法? 謝謝!
您可以使用grepl
找到模式。
> as.numeric(!grepl("ca|de", x)) + 1
[1] 1 2 1 1 2 1 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.