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

Art*_*ein 5 csv r read.csv

我在那个帖子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 列,所以不是最后一列。为此,我想在列数中使用“-”,您认为可能吗?我怎样才能做到这一点?

谢谢!

MKR*_*MKR 4

在基地,r它必须是两步操作。例子:

> data <- read.csv("test12.csv")
> data
# 3 columns are returned
          a b c
1 1/02/2015 1 3
2 2/03/2015 2 4

# last column is excluded 
> data[,-ncol(data)]
          a b
1 1/02/2015 1
2 2/03/2015 2
Run Code Online (Sandbox Code Playgroud)

不能data <- read.csv("test12.csv")[,-ncol(data)]在 base 中写入r

但是如果你知道你的最大列数csv(在我的例子中是 3),那么可以写:

df <- read.csv("test12.csv")[,-3]
df
          a b
1 1/02/2015 1
2 2/03/2015 2
Run Code Online (Sandbox Code Playgroud)

  • “read.csv”参数称为“colClasses”。仔细阅读“?read.csv”以获取更多信息。请注意,您不需要 `[, -3]` 中的逗号,尽管它不会有什么坏处。 (2认同)