【问题标题】:Replace strings in R column替换 R 列中的字符串
【发布时间】:2015-06-11 23:05:03
【问题描述】:

我有一个包含因子列“年份”的数据框。

“年”中的观察结果如下:

 y1995 
 y1995
 y1997
 y1997
 y1999
 y2007
 y1995

我想最终将“年”转换为类整数。然而,首先,我需要从每个观察中删除“y”,以便数据采用以下形式:

 1995 
 1995
 1997
 1997
 1999
 2007
 1995

年份都在 y1995-y2007 区间内。

我该怎么做?

【问题讨论】:

标签: r string replace rename


【解决方案1】:

您可以尝试使用stringr 包中的函数str_replace

Year <- str_replace(Year, "y", "")

【讨论】:

    【解决方案2】:

    这有一个简单的解决方案:

    temp <- sub("y", "", df$Year)
    

    如果您想替换旧向量:

    df$Year <- sub("y", "", df$Year)
    

    然后如果您想将该列转换为数字(它仍将包含字符串,尽管您将无法立即看到它):

    df$Year <- sub("y", "", df$Year)
    df$Year <- as.numeric(df$Year)
    

    【讨论】:

      【解决方案3】:

      您可以尝试sub 删除第一个非数字元素。

      df1$Year <- as.numeric(sub('y', '', df1$Year, fixed=TRUE))
      

      数据

      df1 <- data.frame(Year=paste0('y', c(1995, 1995, 1997, 1997, 1999, 2007,
                 1995)))
      

      【讨论】:

      • @DavidArenburg 根据示例,yprefix
      猜你喜欢
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 2021-10-30
      • 2023-03-08
      • 2015-10-24
      • 1970-01-01
      • 2021-05-22
      • 2021-10-19
      相关资源
      最近更新 更多