我正在使用一个已作为数据框加载的 csv 文件。它有 21,941 列,太大而无法在 Excel 中打开(这是我通常会这样做的方式)。我需要通过分配 ID 来重命名所有这些列,这些 ID 只是 1 到 21,941 之间的数字。所以,1、2、3等等。现在的名字都是很长的字符串。
第一列也是空白的,因为那是行名称所在的位置。我不知道 dataframe 函数是否考虑到了这一点。
我尝试了一些不同的事情,我当前的代码是这样的:
library(dplyr)
data2 <- read.csv(file_name)
data2[,2:] <- rename_with(+1)
我知道函数中的
+1
不正确,并且不确定是否需要指定它不应包含行名所在的列。我尝试为 rename_with
找出一个函数,但我见过的所有示例和解释都包括创建一个向量,然后创建一个 vec <- c(vec + 1)
类型的函数来适应它。但是,我无法手动列出每个列名称,并且不确定是否有这样做的函数或我不知道的更好的方法。
您可以读入将“row.names”指定为第一列的数据。然后为名称分配唯一的 ID。
示例:
write.csv(mtcars, file="cars.csv")
data2 <- read.csv("cars.csv", row.names=1)
names(data2) <- seq_along(names(data2))
head(data2)
1 2 3 4 5 6 7 8 9 10 11
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1