【问题标题】:Splitting a single variable dataframe拆分单个变量数据框
【发布时间】:2017-11-29 15:28:09
【问题描述】:

我有一个仅显示为一个变量的 CSV 文件。我想将其拆分为 6。我需要帮助。

str(nyt_data)
'data.frame':   3104 obs. of  1 variable:
 $ Article_ID.Date.Title.Subject.Topic.Code: Factor w/ 3104 levels "16833;7-Dec-03;Ruse in Toyland: Chinese Workers' Hidden Woe;Chinese Workers Hide Woes for American Inspectors;5",..: 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 ...

nyt_data$Article_ID.Date.Title.Subject.Topic.Code

上述代码行后置换出来的结果是:

> head(nyt_data$Article_ID.Date.Title.Subject.Topic.Code)
[1] 41246;1-Jan-96;Nation's Smaller Jails Struggle To Cope With Surge in Inmates;Jails overwhelmed with hardened criminals;12                                                                          
[2] 41257;2-Jan-96;FEDERAL IMPASSE SADDLING STATES WITH INDECISION;Federal budget impasse affect on states;20                                                                                          
[3] 41268;3-Jan-96;Long, Costly Prelude Does Little To Alter Plot of Presidential Race;Contenders for 1996 Presedential elections;20  

请帮助我将这些代码分成 6 个单独的列 Article_IDDateTitleSubjectTopicCode

【问题讨论】:

  • 它不是“逗号分隔值”CSV,请使用特殊分隔符。下面的每个 monhawk。

标签: r dataframe data-munging


【解决方案1】:

数据用“;”分割但 read.csv 默认为“,”。只需执行以下操作:

df <- read.csv(data, sep = ";")

【讨论】:

  • 使用该代码后出现错误:nyt_data
  • 问题是因为 colnames 标头用点分隔,而不是用 ;所以我去 csv 文件将点更改为 ;在使用代码导入和分隔列名之前。但同样,并非每个数据都相应地分成它们的列名。有些行只落入第一列。你知道为什么会这样吗?
  • 你能发布一个没有拆分的示例行吗?另外,在不拆分的行之前和之后发布行。
【解决方案2】:

只需使用自定义sep 读取 CSV 文件。

像这样:

data <- read.csv(input_file, sep=';')

【讨论】:

  • 我也试过这个。但并非每一行都正确拆分。请问你知道为什么吗?感谢您的建议
  • @Instructius 你能显示哪些行不正确吗?也许您需要自定义quotedec 参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多