gpt4 book ai didi

r - 根据另一个数据集的值和标题创建一个新列

转载 作者:行者123 更新时间:2023-12-04 00:49:50 24 4
gpt4 key购买 nike

假设我有一个原始数据集,其第一列中的值是字母表中的 a 到 d df1 :

a x1
b x2
c x3
d x4
e x5

然后我有另一个数据集,它有多个列,但其条目引用了上述数据集中的列 df2

---------
A | B | C
---------
a b c
d e

我想使用 R 函数来使用 df2 中的唯一值(上面的 a、b、c 和 d)以便在 df1 中创建一个新列引用 df2 中相应列标题的数据集,即 df3

a x1 A
b x2 B
c x3 C
d x4 B
e x5 C

.工作示例:

> # data frame with numbers and characters
> df1 = data.frame(unique_values=letters[1:5], other_col=paste(rep("x",5), 1:5, sep=""))
> print(df1)
unique_values other_col
1 a x1
2 b x2
3 c x3
4 d x4
5 e x5
> # Create dataset that is then used to create new column
> df2 = data.frame(A = c("a",NA), B=c("b","d"), C=c("c","e") )
> df2
A B C
1 a b c
2 <NA> d e

# Using df1 and columns referenging the df1 in df2 create df3
library(dplyr)
#df3?

最佳答案

使用 merge + stack 的基本 R 选项

merge(df1, setNames(na.omit(stack(df2)), c("unique_values", "names")))

给予

  unique_values other_col names
1 a x1 A
2 b x2 B
3 c x3 C
4 d x4 B
5 e x5 C

关于r - 根据另一个数据集的值和标题创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67351298/

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