r - 如何使数据框变量的列名
问题描述
我可以构建一个data.frame
这样的 -
data.frame('a_1' = 3)
但是,我想将列名a1
设为变量。所以我尝试了这个 -
data.frame(get(paste("a", 1, sep = "_")) = 3)
有了这个我得到以下错误 -
Error: unexpected '=' in "data.frame(get(paste("a", 1, sep = "_")) ="
你能帮我理解使colnames
as 变量的正确方法吗?
谢谢你的指点。
解决方案
我们可以使用tibble
with:=
来做到这一点
library(stringr)
library(tibble)
tibble(!! str_c("a", "_", 1) := 3)
-输出
# A tibble: 1 x 1
a_1
<dbl>
1 3
在base R
中,这可以使用setNames
df1 <- setNames(data.frame(3), paste0("a", "_", 1))
-输出
df1
a_1
1 3
或者,如果它仅用于特定数量的列,则创建数据集并使用names
df1 <- data.frame(3)
names(df1)[1] <- paste0("a_", 1)
推荐阅读
- vue.js - Vue.js 使用 @input 事件发送索引
- javascript - 如何将 PHP 变量传递给 JavaScript?
- r - 如何删除 spplot 中的 zcol 框?
- git - 将分支从另一个远程分支合并到我的分支后,git pull no tracking info for my branch
- java - 在 GridLayout 中交换组件时出现 IndexOutOfBoundException 和 NullPointerException?
- angular - Angular - 如何使用户角色复选框动态化
- react-native - 在 react-native Flatlist 或 scrollview 中,我们可以像 carousal 一样显示循环吗?
- angular8 - 如何在 Angular 8 中更改“ng-block-ui”的背景颜色?
- android - 在点击视图上抛出 NoSuchMethodException
- oracle - 优化器对散列连接和完全外连接做了什么?