在R中,如何将列名打印为矢量形式?

问题描述

我有一个包含数百列的数据框。我需要采用列组来应用转换。必须先复制粘贴,然后插入逗号并删除多余的空间,这非常耗时。下面以一个只有13列的数据框为例。

df <- data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20),x4=rnorm(20),x5=rnorm(20),x6=rnorm(20),x7=rnorm(20),x8=rnorm(20),x9=rnorm(20),x10=rnorm(20),x11=rnorm(20),x12=rnorm(20),x13=c(2,1,2,1))

我可以打印名称,但它们看起来像:

colnames(df)
[1] "x1"  "x2"  "x3"  "x4"  "x5"  "x6"  "x7"  "x8"  "x9"  "x10" "x11" "x12" "x13"

我想要

c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13")

我尝试过的事情:

paste0("c(",paste(names(df),collapse=","),")")
[1] "c(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)"

paste0("c(",collapse="\",\""),")")
[1] "c(x1\",\"x2\",\"x3\",\"x4\",\"x5\",\"x6\",\"x7\",\"x8\",\"x9\",\"x10\",\"x11\",\"x12\",\"x13)"

paste0("c(",collapse="','"),")")
[1] "c(x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13)"

paste0("c(",paste(str(names(df)),")")
chr [1:13] "x1" "x2" "x3" "x4" "x5" "x6" "x7" "x8" "x9" "x10" "x11" "x12" "x13"
[1] "c()"

解决方法

您可以尝试以下方法:

dput(colnames(df))

输出:

c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13")
,

使用dput()函数

    df <- data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20),x4=rnorm(20),x5=rnorm(20),x6=rnorm(20),x7=rnorm(20),x8=rnorm(20),x9=rnorm(20),x10=rnorm(20),x11=rnorm(20),x12=rnorm(20),x13=c(2,1,2,1))

    x <- colnames(df)

    dput(x)
    #> c("x1",#> "x11","x13")

reprex package(v0.3.0)于2020-08-11创建

,

我建议安装protected int next(int bits) { long oldseed,nextseed; AtomicLong seed = this.seed; do { oldseed = seed.get(); nextseed = (oldseed * multiplier + addend) & mask; } while (!seed.compareAndSet(oldseed,nextseed)); return (int)(nextseed >>> (48 - bits)); } addin,请参阅here

datapasta

使用library(clipr) x <- names(df) #save to clipboard write_clip(x) #datapasta #then paste vertically: vector_paste_vertical c("x1","x13") #or paste normally: vector_paste c("x1","x13") 的优点是您可以为addinvector_paste创建快捷方式。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...