标签: read.csv

导入read.csv/read.xlsx时,将NA值插入数据框空白单元格

附带的屏幕截图显示了我刚从excel文件导入R的数据帧的一部分.在空白的单元格中,我需要插入'NA'.如何将NA插入任何空白的细胞中(同时留下已经填充的细胞)?

在此输入图像描述

excel r na read.csv

5
推荐指数
1
解决办法
2万
查看次数

read.csv读取特定行

如何使用read.csv命令将特定行读入R?假如我有一个包含10行数据的CSV文件,而我只想读取第5行数据,我尝试执行以下操作,但它似乎不起作用:

myFile <- "MockData.csv"
myData <- read.csv(myFile, row.names=5)
myData
Run Code Online (Sandbox Code Playgroud)

谢谢!

r read.table read.csv

5
推荐指数
1
解决办法
3万
查看次数

文件错误(文件,“rt”):无法打开连接 - 无法打开文件“specdata”访问被拒绝

我在 Windows 7 上运行 rStudio v3.1.2。这台笔记本电脑是 64 位机器。

我正在参加 Coursera 提供的 JHU R 编程课程,但我在问题的第 1 部分中遇到了一个错误。我有一些错误处理函数,我没有考虑到这个例子,所以我真的只是想展示我绝对需要的东西。我包含这些消息的唯一原因是证明必须满足所有条件才能继续。

  pollutantmean <- function(directory, pollutant, id=1:332) {

  setwd("C:\\Users\\WR-eSUB\\specdata")

  if(!isValidDirectory(directory)) {
        stop("Invalid input given.  Please specify valid directory to operate on.")
  }
  if(!isValidPollutant(pollutant)) {
        stop("Invalid input given.  Please specify valid pollutant (nitrate/sulfate).")
  }
  if(!isValidIdRange(id)) {
        stop("Invalid input given.  Please specify valid id range (1:332).")
  }
  sortedData = numeric()
  for (i in id) {
        thisFileName = paste(formatC(i, width = 3, flag = "0"), ".csv", sep="")
        thisFileRead = …
Run Code Online (Sandbox Code Playgroud)

r rstudio read.csv

5
推荐指数
1
解决办法
4万
查看次数

R:读入.csv文件会删除前导零

我意识到读取.csv文件会删除前导零,但是对于我的一些文件,它保持前导零而不必在read.csv中显式设置colClasses.另一方面,令我困惑的是在其他情况下,它会删除前导零.所以我的问题是:read.csv在哪些情况下删除前导零?

csv r leading-zero read.csv

5
推荐指数
1
解决办法
5809
查看次数

读取 .csv 文件时自动检测到 R 日期?

我有一大段代码,我经常运行这些代码来读入和清理 .csv 文件。清理过程的一部分是识别日期列并将它们转换为正确的格式,我用一个函数来完成(见下文)。我将日期格式设置为转换为,"%d/%m/%Y"因为这是我在 MS Excel (office 2010) 中查看时它在 .csv 文件中的显示方式。

    > convert.dates
function(data, datestring, excludestring=NULL, extradatecols=NULL, dateformat) {
  if(is.null(extradatecols)) {datecols1 <- grep(datestring, names(data), value=TRUE)} else {datecols1 <- c(grep(datestring, names(data), value=TRUE), extradatecols)}  
  if(is.null(excludestring)) {datecols2 <- datecols1} else {datecols2 <- datecols1[-grep(excludestring, datecols1)]}
  data[, datecols2] = data.frame(lapply(data[, datecols2], as.Date, format=dateformat), stringsAsFactors=FALSE)
  data
}
Run Code Online (Sandbox Code Playgroud)

我最近升级到 R 3.2.3 并将我的 R Studio 也更新到版本 0.99.489。

更新后,尽管选择了正确的格式(基于我在 .csv 文件中看到的内容),我的函数仍无法转换日期。进一步检查后,read.csv将我的日期从"%d/%m/%Y"我在 .csv 文件中观察到的格式转换为"%Y-%m-%d"并将它们存储为一个因素。然后我就能够应用我的 convert.dates 函数和"%Y-%m-%d"格式并且它起作用了。

> str(mydata$dob)
Factor w/ 3069 …
Run Code Online (Sandbox Code Playgroud)

format excel r date read.csv

5
推荐指数
0
解决办法
616
查看次数

将 read.csv 与符号链接文件一起使用

我正在尝试做什么

我的源文件非常大,我想避免将其复制到其他文件夹中。我决定创建一个指向大文件的符号链接并希望用于read.csv读取该文件。

文件夹结构

  • 项目1/数据/源文件.csv
  • 项目2/数据/别名到源文件.csv

什么地方出了错

读取源文件工作正常,但是当我尝试读取符号链接时,出现以下错误:line 1 appears to contain embedded nulls

我知道我可以复制该文件并将其放入我的第二个项目的文件夹中,但我想知道是否有办法使用符号链接。如果没有,我想知道一种避免在多个项目中重复数据文件的好方法。

symlink r read.csv

5
推荐指数
1
解决办法
1180
查看次数

处理 R 中的字节顺序标记 (BOM)

有时,.CSV 文件的开头会出现字节顺序标记 (BOM)。当您使用记事本或 Excel 打开文件时,该符号不可见,但是,当您使用各种方法在 R 中读取文件时,您会在第一列的名称中看到不同的符号。这是一个例子

\n\n

开头带有 BOM 的示例 csv 文件。

\n\n
ID,title,clean_title,clean_title_id\n1,0 - 0,,0\n2,"""0 - 1,000,000""",,0\n27448,"20yr. rope walker\nigger",Rope Walker Igger,1832700817\n
Run Code Online (Sandbox Code Playgroud)\n\n

通读read.csv基础 R 包

\n\n
(x1 = read.csv("file1.csv",stringsAsFactors = FALSE))\n#   \xc3\xaf..ID                raw_title        semi_clean semi_clean_id\n# 1     1                    0 - 0                               0\n# 2     2          "0 - 1,000,000"                               0\n# 3 27448 20yr. rope walker\\nigger Rope Walker Igger    1832700817\n
Run Code Online (Sandbox Code Playgroud)\n\n

通读freaddata.table包中的内容

\n\n
(x2 = data.table::fread("file1.csv"))\n#    \xc3\xaf\xc2\xbb\xc2\xbfID                raw_title        semi_clean semi_clean_id\n# 1:     1                    0 - 0                               0\n# 2:     2 …
Run Code Online (Sandbox Code Playgroud)

byte-order-mark r data.table read.csv readr

5
推荐指数
1
解决办法
3197
查看次数

使用 read.csv 跳过 r 中的最后一列

我在那个帖子read.csv 并跳过 R 中的最后一列但没有找到我的答案,并尝试直接检查答案...但这不是正确的方法(感谢mjuarez花时间让我回到正轨.

原来的问题是:

我已经阅读了其他几篇关于如何使用 read.csv 导入 csv 文件但跳过特定列的文章。但是,我发现的所有示例的列都很少,因此很容易执行以下操作:

 columnHeaders <- c("column1", "column2", "column_to_skip")
 columnClasses <- c("numeric", "numeric", "NULL")
 data <- read.csv(fileCSV, header = FALSE, sep = ",", col.names = 
 columnHeaders, colClasses = columnClasses)
Run Code Online (Sandbox Code Playgroud)

所有答案都很好,但不适用于我打算做的事情。所以我问我自己和其他人:

在一个功能中,data <- read_csv(fileCSV)[,(ncol(data)-1)] 可以工作吗?

我已经尝试在一行中R继续data,前 6 列中的所有 5 列,所以不是最后一列。为此,我想在列数中使用“-”,您认为可能吗?我怎样才能做到这一点?

谢谢!

csv r read.csv

5
推荐指数
1
解决办法
5230
查看次数

R 3.5 - read.csv无法读取UTF-16 csv文件

我的代码如下:

read.csv("http://asic.gov.au/Reports/YTD/2018/RR20180420-001-SSDailyYTD.csv", skip=1, fileEncoding = "UTF-16", sep = "\t", header = FALSE)
Run Code Online (Sandbox Code Playgroud)
  • R 3.4.3 - 代码干净利落地执行
  • R 3.5.0 - 给出以下错误:

Error in read.table(file = file, header = header, sep = sep, quote = quote, : no lines available in input

@hrbrmstr - 会话信息读数

sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252   
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C                      
[5] LC_TIME=English_Australia.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets …
Run Code Online (Sandbox Code Playgroud)

r read.table read.csv

5
推荐指数
1
解决办法
1365
查看次数

跳过R中的特定行和列

我使用这个命令跳过第二行数据:

Df=(read.csv(“IMDB_data.csv”, header=T, sep=",")[-2,])
Run Code Online (Sandbox Code Playgroud)

这背后的解释是什么?它可以用于跳过超过1个特定行吗?它可以用于跳过列吗?请帮忙.

r dataframe read.csv

5
推荐指数
1
解决办法
2230
查看次数