[英]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.