【问题标题】:How can I remove specific characters from a list and save as data frame?如何从列表中删除特定字符并保存为数据框?
【发布时间】:2019-02-05 19:33:47
【问题描述】:

我想

  • 获得干净的数据集
  • 没有特殊字符
  • 仅使用实际单词
  • 没有数字
  • 来自 JSON 文件
  •  library(rvest); library(XML); library(dplyr);library(tidyr); library(purrr); library(rjson)
    
     url <- "http://suggestqueries.google.com/complete/search?client=chrome&q=Nike"
     nike_autocomplete <- read_html(url)
    

    输出应该是这样的:

    [1] "Nike" "nike air" "nike air max" "nike schuhe" "nike air force" "nike air max 97"
    [7] "nike tn" "nike id" "nike air max 270" "nike vapormax" "nike pullover" "nike schweiz"   
    [13] "nike 97" "nike off white" "nike air max plus" "nike winterschuhe" "nike schuhe damen" "nike huarache"  
    [19] "nike shoes" "nike logo" "nike air max 90"
    

    因此,最后没有空的东西

    【问题讨论】:

    • 您想要的结果看起来不像数据框。是一行两列吗?列名是什么?
    • 只有一列,重要的是删除第一个空列开头的值。
    • 一秒修改
    • 你确定你的输入是正确的吗?当我运行您的 list &lt;- 代码时,我得到一个列表,其中包含一个包含 1 行和 10 列的单个数据框......并且您删除了不符合您的标准的值,例如,为什么 "tlw":false 不在输出中?它不是特殊的、数字的、特殊的或空的。
    • 这是来自 JSON 文件吗?您最好改进导入过程,而不是尝试清理导入不良的数据。

    标签: r list dataframe text


    【解决方案1】:

    您尝试提取的文本是 JSON 格式,因此您最好使用 json 读取实用程序而不是尝试使用正则表达式。我喜欢jsonlite::fromJSON

    library(rvest)
    library(jsonlite)
    library(purrr)
    
    url <- "http://suggestqueries.google.com/complete/search?client=chrome&q=Nike"
    read_html(url) %>%
      xml_text %>%
      fromJSON() %>%
      extract(1:2) %>%
      unlist
    #  [1] "Nike"                  "nike shox"             "nike shoes"            "nike air max"         
    #  [5] "nike outlet"           "nike air force 1"      "nike basketball shoes" "nike vapormax"        
    #  [9] "nike air max 97"       "nike id"               "nike store"            "nike stock"           
    # [13] "nike air max 270"      "nike promo code"       "nike windbreaker"      "nike sweatshirts"     
    # [17] "nike huarache"         "nike hoodie"           "nike cortez"           "nike sweatpants"      
    # [21] "nike slides"      
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-30
      • 2018-04-13
      • 2015-03-14
      • 1970-01-01
      • 2015-04-30
      • 2017-08-17
      • 2018-04-16
      • 1970-01-01
      相关资源
      最近更新 更多