gpt4 book ai didi

r - 在 R 中反转数据帧

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

这里举个例子。参与者将他们最喜欢的颜色排列在绿色、蓝色和红色之间。id 代表参与者。每个参与者从 1-3 中对三种颜色进行排名(最好的=1,第二喜欢的=2,最不喜欢的=3)。想象一下数据如下所示:

         id1      id2     id3
rank1 red green blue
rank2 green blue red
rank3 blue red green

我需要更改值,使其看起来像这样:

        id1   id2    id3
green 2 1 3
blue 3 2 1
red 1 3 2

本质上,我想用颜色创建一行并记录它的排名。我的实际数据框是 25 列 x 100 行。我这样做是因为在版本 1 中数据输入更容易。

更改数据最简单的方法是什么?

最佳答案

应用一个匹配到你的dataframe的每一列:

# example data
df <- data.frame(
id1 = c("red", "green", "blue"),
id2 = c("green", "blue", "red"),
id3 = c("blue", "red", "green"),
stringsAsFactors = FALSE
)

# create ranking dataframe
sapply(df, match, x=c("green", "blue", "red"))

结果:

  id1 id2 id3 
1 2 1 3
2 3 2 1
3 1 3 2

关于r - 在 R 中反转数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52208824/

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