Jos*_*osh 4 r read.table read.csv
我正在尝试将此.csv 文件读入 R。当我使用 read.csv 时,我要么收到与 row.names 相关的错误,要么列名称偏离其原始列。根据这篇文章,我认为问题与每行末尾有一个额外的逗号有关。我在上一个问题的回答中找不到的是如何去掉行尾逗号。
我的解决方法是执行以下操作:
pmr <-read.csv("pubmed_result.csv", header = T, row.names = NULL)
colnames(pmr) <- c(colnames(pmr)[2:ncol(pmr)], "blank")
pmr <- pmr[1:ncol(pmr)-1]
Run Code Online (Sandbox Code Playgroud)
这提供了所需的结果,但似乎有点不优雅。有没有办法让 read.csv 或 read.table 忽略最后一个逗号?或者有没有办法使用 gsub 来修复 csv?
您的评估是正确的,即尾随","导致了问题。准确地说,事实是","数据行中有尾随,但声明列名的行中没有尾随。
如果您不想像上面的代码那样手动修复问题,您可以使用readr::read_csv
library(tidyverse);\ndf <- read_csv("pubmed_result.csv");\ndf;\n ## A tibble: 375 x 11\n# Title URL Description Details ShortDetails Resource Type Identifiers\n# <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>\n# 1 Myoedi\xe2\x80\xa6 /pubm\xe2\x80\xa6 Zhang Y, Lo\xe2\x80\xa6 Physiol\xe2\x80\xa6 Physiol Rev\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29717\xe2\x80\xa6\n# 2 Cullin\xe2\x80\xa6 /pubm\xe2\x80\xa6 Papizan JB,\xe2\x80\xa6 J Biol \xe2\x80\xa6 J Biol Chem\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29653\xe2\x80\xa6\n# 3 Fusoge\xe2\x80\xa6 /pubm\xe2\x80\xa6 Bi P, McAna\xe2\x80\xa6 Proc Na\xe2\x80\xa6 Proc Natl A\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29581\xe2\x80\xa6\n# 4 Correc\xe2\x80\xa6 /pubm\xe2\x80\xa6 Long C, Li \xe2\x80\xa6 Sci Adv\xe2\x80\xa6 Sci Adv. 2\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29404\xe2\x80\xa6\n# 5 Single\xe2\x80\xa6 /pubm\xe2\x80\xa6 Amoasii L, \xe2\x80\xa6 Sci Tra\xe2\x80\xa6 Sci Transl \xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29187\xe2\x80\xa6\n# 6 Requir\xe2\x80\xa6 /pubm\xe2\x80\xa6 Shi J, Bi P\xe2\x80\xa6 Proc Na\xe2\x80\xa6 Proc Natl A\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29078\xe2\x80\xa6\n# 7 Consid\xe2\x80\xa6 /pubm\xe2\x80\xa6 Carroll KJ,\xe2\x80\xa6 Circ Re\xe2\x80\xa6 Circ Res. \xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:29074\xe2\x80\xa6\n# 8 ZNF281\xe2\x80\xa6 /pubm\xe2\x80\xa6 Zhou H, Mor\xe2\x80\xa6 Genes D\xe2\x80\xa6 Genes Dev. \xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:28982\xe2\x80\xa6\n# 9 Functi\xe2\x80\xa6 /pubm\xe2\x80\xa6 Kyrychenko \xe2\x80\xa6 JCI Ins\xe2\x80\xa6 JCI Insight\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:28931\xe2\x80\xa6\n#10 Defici\xe2\x80\xa6 /pubm\xe2\x80\xa6 Papizan JB,\xe2\x80\xa6 J Clin \xe2\x80\xa6 J Clin Inve\xe2\x80\xa6 PubMed cita\xe2\x80\xa6 PMID:28872\xe2\x80\xa6\n## ... with 365 more rows, and 3 more variables: Db <chr>, EntrezUID <int>,\n## Properties <chr>\nRun Code Online (Sandbox Code Playgroud)\n\n这将引发一堆警告,这些警告源自丢失/附加的尾随“,”,在这种情况下您可以忽略它。请注意,列名称已正确分配。
\n