如何按顺序重命名列,即(1、2、3等)

问题描述 投票:0回答:1

我正在使用一个已作为数据框加载的 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)
类型的函数来适应它。但是,我无法手动列出每个列名称,并且不确定是否有这样做的函数或我不知道的更好的方法。

r dataframe multiple-columns rename
1个回答
0
投票

您可以读入将“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
© www.soinside.com 2019 - 2024. All rights reserved.