【问题标题】:Name Data does not import into Rstudio as intended名称数据未按预期导入 Rstudio
【发布时间】:2020-09-20 10:32:46
【问题描述】:

我目前正在尝试将名称数据集导入 RStudio。我将数据另存为 .csv 文件,有 276 行。在 Microsoft Excel 中,它看起来像这样:

当我尝试导入 RStudio,(从文本),它给了我这个窗口:

然后,在尝试导入数据时,我收到以下错误:

“read.table 中的错误(文件 = 文件,标题 = 标题,sep = sep,报价 = 报价,: 不允许重复的 'row.names'"

数据在 RStudio 中显示如下:

如果一个人有 3 个名字(少数有),他们会单独出现在下一行。为什么我的数据会这样?我希望名字和姓氏都在标题为“人”的同一列中。

提前感谢您提供的任何帮助!

【问题讨论】:

  • 你可以试试file <- read.csv('C:/path/your_file.csv', row.names = FALSE)
  • 我从来没有以这种方式导入文件,但我认为您只需将Separator 中的值更改为逗号,而不是空格。

标签: r csv rstudio data-import


【解决方案1】:

如果您想使用 RStudio 的 Import Data > From Text,您需要将 Row names 设置为“使用数字”,将 Separator 设置为“分号”。

Row names 设置为“自动”是导致您引用的错误的原因。通过设置为“自动”,RStudio 正在导入它解释为第一列的内容作为数据框的行标签。在这种情况下,RStudio 尝试使用名字作为数据的行标签(更多关于为什么会发生这种情况)。这是一个问题,因为您的数据包含多个具有相同名字的个人。换句话说,一个数据框不能有两行1,因此它不能有两行John

Separator 设置为“空白”会在数据中有空白的地方拆分您的姓名;名称之间的空格算作空格。将Separator 设置为“分号”可确保不拆分全名。

注意:使用“逗号”可以拆分带有后缀的名称(例如“Josh Smith, Jr.”将被分隔为“John Smith”和“Jr.”)。

或者,您可以像这样使用read.csv() 函数:

df <- read.csv("starpower.csv", row.names = FALSE, sep = ";")

上面的代码行将导入位于路径starpower.csv.csv 文件,它告诉RStudio 你的数据没有行标签(因此RStudio 将默认为每一行本身编号),它改变了默认方式从以逗号 (,) 到分号 (;) 分隔的行中的条目中读取数据。同样,分号可能是您使用的更好的分隔符,因为您的数据是可能包含逗号的单列。

注意:如果您的数据包含多列,则在使用 RStudio 的 Import Data 工具时必须将 Seperator 设置为,在使用 read.csv() 函数时将 sep = 设置为用于分隔数据行的符号。 .csv 文件的默认值为逗号 (,)。

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2023-02-21
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    相关资源
    最近更新 更多