r - 使用变量 R dplyr 设置数据框的标签
问题描述
我有一个数据框,我想在其中更改标签,如下所示:
library(labelled)
tmp <- diamonds %>% mutate(color = as.character(color)) %>%
set_value_labels(color = c(E = "white", I = "Red", J = "Black"))
这可行,但我想以编程方式构造标签集(在我的情况下来自数据库表)。例如:
cols <- c("White", "Red", "Black")
letters <- c("E", "I", "J")
# create the labels vector
new_labels <- c()
for(x in 1:3){
new_labels <- c(new_labels, paste(letters[x], "=", cols[x]))
}
tmp <- diamonds %>% mutate(color = as.character(color)) %>%
set_value_labels(color = new_labels)
错误:
labels
必须有名字。
如何以 set_values_labels 可以理解的格式构建 new_labels 向量?或者不使用库(标记)
解决方案
您可以使用创建命名向量setNames
并将其传递给 set_value_labels
.
library(dplyr)
library(labelled)
cols <- c("White", "Red", "Black")
letters <- c("E", "I", "J")
tmp <- diamonds %>%
mutate(color = as.character(color)) %>%
set_value_labels(color = setNames(cols, letters))
推荐阅读
- asp.net-core - HttpGet中name属性有什么用(如[HttpGet("/products2/{id}", Name = "Products_List")])
- akka - Akka 持久性:没有足够的 JDBC MySQL 工作示例
- wso2 - WS02 身份服务器用户会话端点
- python - 添加当前时间并更改json结构数据python
- sql - 如何创建将新记录添加到表中的函数?甲骨文
- spartacus-storefront - 斯巴达克斯:从多站点根目录中删除尾部斜杠
- react-native - 错误:命令失败:gradlew.bat app:installDebug -PreactNativeDevServerPort=8081(如何修复?)
- mysql - 一起编写sql join和单独编写sql join有什么区别?
- flutter - 如何在 Flutter 中集成 Microsoft Graph API 并从 Microsoft Azure Active Directory 中获取用户的对象 ID?
- java - 如何获取街道地址作为标记的标题