gpt4 book ai didi

r - 根据向量重命名列

转载 作者:行者123 更新时间:2023-12-01 15:10:16 25 4
gpt4 key购买 nike

set.seed(0)
data=data.frame("V1"=sample(1:10,size=4,rep=T),
"V2"=sample(1:10,size=4,rep=T),
"V3"=sample(1:10,size=4,rep=T),
"V4"=sample(1:10,size=4,rep=T))

names = data.frame("vars"=c("V1", "V2", "V3", "V4"),
"labels"=c("whale","toast","cheese","cow"))


want=data.frame("whale"=sample(1:10,size=4,rep=T),
"toast"=sample(1:10,size=4,rep=T),
"cheese"=sample(1:10,size=4,rep=T),
"cow"=sample(1:10,size=4,rep=T))

我有数据,“数据”和一个数据框“名称”,其中包含“数据”的列名和变量标签。

我想创建新数据“want”,用“名称”中的变量标签替换“数据”中的变量名称。但是请注意,实际值是不同的,因为我不知道如何确保相同的采样值!

最佳答案

我们可以使用rename_at中的dplyr(假设“名称”数据集中的列是character类)

library(dplyr)
data <- data %>%
rename_at(vars(names$vars), ~ names$labels)
data
# whale toast cheese cow
#1 9 2 1 6
#2 4 7 5 10
#3 7 2 5 7
#4 1 3 10 9

或通过 deframe转换为命名向量,然后直接匹配
names %>% 
mutate_all(as.character) %>%
deframe %>%
{set_names(data, .[names(data)])}

关于r - 根据向量重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60131993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com