gpt4 book ai didi

根据第二个数据帧中的值替换数据帧中的 header

转载 作者:行者123 更新时间:2023-12-02 21:38:02 29 4
gpt4 key购买 nike

假设我有一个如下所示的数据框:

df.A

A B C
x 1 3 4
y 5 4 6
z 8 9 1

我想根据第二个中的列值替换第一个中的列名称:

 df.B

Low High
A D
B F
C G

这样我得到:

df.A
D F G
x 1 3 4
y 5 4 6
z 8 9 1

我该怎么做?

我尝试从 df.B 中提取向量 df.B$High 并在 names(df.A) 中使用它,但所有内容都是按字母顺序排列的,并且移动了一位。此外,只有当 df.A 中的列顺序相对于 df.B$High 中的元素保守时,这才有效,但情况并非总是如此(并且在我的真实示例中,没有数字或字母方式可以将两者按相同顺序排序)。所以我认为我需要一个 rbind 类型参数来匹配元素,但我不确定。

谢谢!

最佳答案

您可以使用plyr中的rename:

library(plyr)
dat <- read.table(text = " A B C
x 1 3 4
y 5 4 6
z 8 9 1",header = TRUE,sep = "")
> new <- read.table(text = "Low High
A D
B F
C G",header = TRUE,sep = "")
> rename(dat,replace = setNames(new$High,new$Low))
D F G
x 1 3 4
y 5 4 6
z 8 9 1

关于根据第二个数据帧中的值替换数据帧中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960562/

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