簡體   English   中英

用R中的數字替換向量中的字符元素

[英]Replace Character Elements in vector with Numbers in R

我有一個包含字符串/字符元素的數據幀中的向量,並且我想根據數字是否包含某些字符組來用數字替換這些字符串/字符元素,我想知道如何才能做到這一點。 例如,假設我有一個帶有字符串元素的數據框中的列,如下所示:

df$Stringvector <- c("aaca", "bbb", "edee", "ca bb" "ttt t", "ui de", "k jkl")

現在,我想做的是如果元素具有字符組合cade ,則將矢量的元素替換為1如果元素不包含任何組合,則將其替換為2 由於df$Stringvector的第1,第3,第4和第6個元素在其字符串中具有cade ,因此將它們替換為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.

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