gpt4 book ai didi

R 用关键数据框替换多列的键

转载 作者:行者123 更新时间:2023-12-02 08:27:19 24 4
gpt4 key购买 nike

我有一个包含 100 个问题的数据集(下面我有一个包含 3 个问题的子集)。我想用“答案”数据集中提供的实际答案替换所有答案 ID。最终结果显示在“结果”数据框中。

数据

 name   q1   q2  q3
1 a 1 3 7
2 a 8 3 1
3 a 3 9 2
4 b 4 4 3

回答

 id   str  
1 TRUE
2 FALSE
3 YES
4 NO
5 LESS
6 MORE
7 GREATER
8 LESS
9 NONE
10 DAILY

结果

  name     q1   q2     q3
1 a TRUE YES GREATER
2 a LESS YES TRUE
3 a YES NONE FALSE
4 b NO NO YES

最佳答案

我们可以匹配数据集的元素(“df1”,没有“name”列)与“answer”中的“id”以获得数字索引(在这种情况下我们不不需要match,一般情况下,使用match)并获取对应的'str'可能更安全。

 df1[-1] <- answer$str[match(as.matrix(df1[-1]), answer$id)]
df1
# name q1 q2 q3
#1 a TRUE YES GREATER
#2 a LESS YES TRUE
#3 a YES NONE FALSE
#4 b NO NO YES

或者使用 qdapTools 中的 lookup,它可以将 key/value 列作为“data.frame”(即“answer”)并获取匹配值

 library(qdapTools)
df1[-1] <- lookup(unlist(df1[-1]), answer)

或者

 df1[-1] <- with(answer, setNames(str, id))[as.character(unlist(df1[-1]))]

关于R 用关键数据框替换多列的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874664/

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