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