【问题标题】:Remove first two characters in column using sqldf使用 sqldf 删除列中的前两个字符
【发布时间】:2019-03-08 02:46:32
【问题描述】:

我有一个如下数据集:

df
      ColA     ColB
-_jdn-endm        6
-_mek-emdn        5

预期输出

      ColA     ColB     New_col
-_jdn-endm        6    jdn-endm
-_mek-emdn        5    mek-emdn

我想从 ColA 中删除前两个字符。

我试过了,但我得到了一个语法错误,即使它看起来正确:

library(sqldf)
df<- sqldf("SELECT RIGHT([ColA], LEN(ColA]) - 2) [New_col] FROM df")

Error in result_create(conn@ptr, statement) : near "(": syntax error

知道我做错了什么吗?

【问题讨论】:

  • 也许您需要转义括号?试试\\(\\)
  • 而你需要在sqldf做这个,你不能只用substr吗?
  • 是的,不幸的是它需要是 sqldf。我已经知道如何使用 R 语法了。
  • 删除括号也不行

标签: r sqldf


【解决方案1】:

使用substr 提取字符 3 之后的内容。

sqldf("select *, substr(Col_A, 3) as newCol from df")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2023-04-05
    • 2015-08-30
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多