首页 > 解决方案 > CSV 文件读入问题

问题描述

我不明白为什么当我读入一个csv. 文件时,当第一列名称为空时,在X1我的数据开头还有一个索引列。我怎样才能避免这种情况?

数据结构:

在此处输入图像描述

期望的输出: 在此处输入图像描述

样本数据:

structure(list(X1 = c(110, 210, 310, 1110, 3110, 5310, 8210, 
9120, 9390), `110` = c(0.970588235, 0, 0, 0, 0, 0, 0.125, 0, 
0), `210` = c(0, 0.5, 0, 0, 0.666666667, 0, 0, 0, 0), `310` = c(0.029411765, 
0.25, 0.6, 0, 0, 0, 0, 0, 0), `1110` = c(0, 0, 0, 0.981481481, 
0, 0, 0, 0.25, 0), `3110` = c(0, 0, 0, 0, 0.333333333, 0.25, 
0, 0, 0.037037037), `5310` = c(0, 0, 0, 0, 0, 0.75, 0, 0, 0.037037037
), `8210` = c(0, 0, 0.2, 0, 0, 0, 0.875, 0, 0), `9120` = c(0, 
0.25, 0, 0, 0, 0, 0, 0.75, 0), `9390` = c(0, 0, 0.2, 0.018518519, 
0, 0, 0, 0, 0.925925926)), class = c("spec_tbl_df", "tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -9L), spec = structure(list(
    cols = list(X1 = structure(list(), class = c("collector_double", 
    "collector")), `110` = structure(list(), class = c("collector_double", 
    "collector")), `210` = structure(list(), class = c("collector_double", 
    "collector")), `310` = structure(list(), class = c("collector_double", 
    "collector")), `1110` = structure(list(), class = c("collector_double", 
    "collector")), `3110` = structure(list(), class = c("collector_double", 
    "collector")), `5310` = structure(list(), class = c("collector_double", 
    "collector")), `8210` = structure(list(), class = c("collector_double", 
    "collector")), `9120` = structure(list(), class = c("collector_double", 
    "collector")), `9390` = structure(list(), class = c("collector_double", 
    "collector"))), default = structure(list(), class = c("collector_guess", 
    "collector")), skip = 1L), class = "col_spec"))

标签: rdataframe

解决方案


我们可以row.names = 1在阅读时使用,以便它将第一列作为行名返回

df1 <- read.csv('file.csv', row.names = 1, check.names = FALSE)

推荐阅读