【问题标题】:Using strsplit results in terms with quotation marks in r在 r 中使用带引号的术语 strsplit 结果
【发布时间】:2019-08-01 17:07:03
【问题描述】:

我有大量数据,是从 excel 中导入的。我希望获得数据集的词频表。但是,当我使用 strspplit 时,它包含引号和其他标点符号会导致错误的结果。

我使用 strsplit 的方式有一个小错误,需要帮助,因为我自己无法弄清楚。

df = read_excel("C:/Users/B M Consulting/Documents/Book2.xlsx", col_types=c("text","numeric"), range=cell_cols("A:B"))

vect

vectsplit

vectlev

vecttermf

输出vect是这样的:

[1]“3英寸c夹”“婴儿虎钳”“婴儿虎钳”“婴儿虎钳”
[5]“台钳”“台虎钳”“台虎钳”“台虎钳”
[9]“板凳声音”“板凳智者”“板凳智者重”“板凳智者桌”
[13]“工具箱”“c 夹”“c 夹组”“c 夹”
[17]《木匠工具》《木匠工具低价》《铸铁管》《夹钳》
[21]《夹具组》《木工夹具》《g夹具》《g夹具组3寸》

我需要说出每个字。当我使用 strplit 时,它包括所有的标点符号。

下面是我得到的一小部分 vectsplit。它包括所有我不想要的引号、反斜杠和逗号。

[1] "c(\"3" "inch" "c" "clamp\"," "\"baby" "vice\"," "\"baby" "vice"
[9] “长凳”、“婴儿”、“台钳”、“长凳”、“长凳”、“台钳”、“台钳”、“台钳”
[17] "clamp\"," "\"bench" "vise\"," "\"bench" "voice\"," "\"bench" "wise\"," "\"bench"
[25] “明智”“重”、“长凳”、“明智”“桌子”、“盒子”、“为”、“工具”、“
[33] "\"c" "clamp\"," "\"c" "clamp" "set\"," "\"c" "clamps\"," "\"木匠"
[41] "工具\"," "\"木匠" "工具" "低价" "价格\"," "\"铸件" "铁" "管子\","

【问题讨论】:

    标签: r strsplit


    【解决方案1】:

    如果你检查 vect 的类,你会注意到它不是一个字符向量,而是一个列表。

    vect<-c(df[1])
    class(vect)
    > "list"
    

    如果你定义vect如下,问题就消失了:

    vect<-df[[1]]
    class(vect)
    > "character"
    

    如果你这样定义 vect 然后使用 strsplit,它应该可以正常工作。请记住,不同类型的子集([1] 与 [[1]])将产生不同类别的输出。

    【讨论】:

    • 非常感谢,帮了大忙。
    猜你喜欢
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    相关资源
    最近更新 更多