【问题标题】:Unexpected character error when filtering in R [duplicate]在R中过滤时出现意外的字符错误[重复]
【发布时间】:2021-07-09 00:24:28
【问题描述】:

我有一个名为 Data_T_2Partner 的数据集,其中有一个名为“Order”的列,其中包含字符串。我想过滤掉 cmets 条目中包含单词 OTW 的行

我从 xlsx 文件将数据读入 R。这个功能我试过了:

Data_T_2Partner <- Data_T_2Partner %>%
filter("OTW", Order Channel Code)

但是,我收到一条错误消息:

Error: unexpected symbol in:
"Data_T_2Partner <- Data_T_2Partner %>%
filter("OTW", Order)

#   Item   Item description Order
#    1         Mocha            OTW
#    2         Venti            MOP
#    3         Blonde           OTW
#    4         Iced             CAFE

【问题讨论】:

  • 如果您可以共享一段可重现的数据,这样其他人可以更有效地帮助您,那就更好了。
  • 您要对其进行过滤的列的名称是什么?
  • 我添加了一些示例数据。对不起,我是堆栈溢出的新手。我想过滤列订单
  • 不,没关系。每当您想提出问题时,请记住使用此代码共享可重现的数据片段:dput(head(my_data_frame)) 它将创建一个可重现的数据框,以便其他人可以使用它。

标签: r filtering


【解决方案1】:

如果您想引用新的列名,则必须用反引号括起来。这是因为这种命名违反了 R 的命名约定。所以我认为您可以使用以下代码进行过滤:

library(dplyr)

Data_T_2Partner <- Data_T_2Partner %>%
filter(`Order Channel Code` == "OTW")

我假设您已经将列名更改为这个。

【讨论】:

    【解决方案2】:
    Data_T_2Partner <- Data_T_2Partner %>%
        filter(Order == "OTW")
    

    【讨论】:

    • 我将我的专栏重命名为订单渠道代码并继续收到相同的错误
    • 一般建议:列名(或一般变量)最好不要包含空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    相关资源
    最近更新 更多