【问题标题】:Replace Character Elements in vector with Numbers in R用 R 中的数字替换向量中的字符元素
【发布时间】:2017-12-26 19:42:50
【问题描述】:

我有一个来自数据框的向量,其中包含字符串/字符元素,我想根据它们是否包含特定字符组将这些字符串/字符元素替换为数字,我想知道我该怎么做关于这样做。例如,假设我有一个数据框中的列,其中包含如下字符串元素:

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)

这样做的好方法是什么?谢谢!

【问题讨论】:

  • ca 的组合是否包括caac? - 即 - 以任何顺序。

标签: r string dataframe vector character


【解决方案1】:

您可以使用grepl 找到该模式。

> as.numeric(!grepl("ca|de", x)) + 1
[1] 1 2 1 1 2 1 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 2014-11-20
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多