r - 在 R 中创建一个包含 100 列所需列名的数据框

标签 r

我想创建一个包含 100 列的数据框,其名称为 feature1、feature2、feature3 ... feature100。

我能够将数据框创建为

df <- as.data.frame(matrix(0, ncol = 100, nrow = 2))

但是我的列名都是 V1、V2 等
> names(df)
  [1] "V1"   "V2"   "V3"   "V4"   "V5"   "V6"   "V7"   "V8"   "V9"   "V10"  "V11"  "V12"  "V13"  "V14"  "V15" 
 [16] "V16"  "V17"  "V18"  "V19"  "V20"  "V21"  "V22"  "V23"  "V24"  "V25"  "V26"  "V27"  "V28"  "V29"  "V30" 
 [31] "V31"  "V32"  "V33"  "V34"  "V35"  "V36"  "V37"  "V38"  "V39"  "V40"  "V41"  "V42"  "V43"  "V44"  "V45" 
 [46] "V46"  "V47"  "V48"  "V49"  "V50"  "V51"  "V52"  "V53"  "V54"  "V55"  "V56"  "V57"  "V58"  "V59"  "V60" 
 [61] "V61"  "V62"  "V63"  "V64"  "V65"  "V66"  "V67"  "V68"  "V69"  "V70"  "V71"  "V72"  "V73"  "V74"  "V75" 
 [76] "V76"  "V77"  "V78"  "V79"  "V80"  "V81"  "V82"  "V83"  "V84"  "V85"  "V86"  "V87"  "V88"  "V89"  "V90" 
 [91] "V91"  "V92"  "V93"  "V94"  "V95"  "V96"  "V97"  "V98"  "V99"  "V100"

然后我必须用类似的东西跟进
for(i in 1:100)
{
    df[,paste("feature",i,sep="")] = df[,paste("V",i,sep="")]
    df[,paste("V",i,sep="")] = NULL
}

有没有更简单的方法让我的列名称为“feature1”、“feature2”等

最佳答案

你可以做

 names(df) <- paste0('feature', 1:100)

或指定 dimnames参加 matrix称呼
as.data.frame(matrix(0, ncol=100, nrow=2, dimnames=list(NULL, 
                 paste0('feature',1:100))))

关于r - 在 R 中创建一个包含 100 列所需列名的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29556113/

相关文章:

r - 按字符数拆分列

r - 使用 shiny selectize,避免对搜索结果进行排序

r - 如果我希望将 Anaconda 与 R 一起使用,是否需要重新安装 R-Studio?

r - 在 R 中并行化矢量化函数的最简单方法是什么?

r - 为什么子集不介意缺少数据帧的子集参数?

c++ - 使用 configure.ac 找不到 boost c++

html - 使用 for 循环或 lapply 将 Web 抓取到具有相似 URL 的 R 多个链接

r - Purrr 和 R 中的几个多元回归

r - 合并不同大小的数据框和重复值

r - R 中包含每日数据的时间序列模型