簡體   English   中英

告訴 R 使用存儲在對象中的字符串作為列名

[英]Tell R to use string stored in object as column name

我正在嘗試以下操作:

a <- "b"
data.frame (a = c (1:3))

返回(當然):

data.frame (a = c (1:3))
>   a
> 1 1
> 2 2
> 3 3

我想要的是:

a <- "b"    
data.frame (foo (a) = c (1:3))
>   b
> 1 1
> 2 2
> 3 3

有沒有辦法告訴 R 使用存儲在對象 ( a ) 中的字符串 ( "b" ) 作為列名?

編輯:我知道我的問題標題可能意義不大。 有改進建議嗎?

一種選擇是對:=的 lhs 上的對象進行tibble和求值 ( !! )

tibble(!! a := 1:3)
# A tibble: 3 x 1
#      b
#  <int>
#1     1
#2     2
#3     3

我們還可以使用dplyr中的set_names

library(dplyr)
data.frame(1:3) %>%
     set_names(a)

您還可以使用setNames

setNames(data.frame(1:3), a)

#  b
#1 1
#2 2
#3 3

或者使用matrix並添加dimnames

data.frame(matrix(1:3, ncol = 1, dimnames = list(NULL, a)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM