gpt4 book ai didi

R比较所有列对的每个值

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

<分区>

我有一个 18x18 的数据框,我想将所有可能的列对相互比较,以便对于每对两列,18 行中的值相互比较。

由于我的数据太大无法放在这里,我写了一个小例子来说明我目前的想法:

> a <- c(1:18)
> b <- c(18:1)
> c <- c(1:9,18:10)
data <- as.data.frame(matrix(c(a,b,c), ncol = 3, nrow = 18))
> data
V1 V2 V3
1 1 18 1
2 2 17 2
3 3 16 3
4 4 15 4
5 5 14 5
6 6 13 6
7 7 12 7
8 8 11 8
9 9 10 9
10 10 9 18
11 11 8 17
12 12 7 16
13 13 6 15
14 14 5 14
15 15 4 13
16 16 3 12
17 17 2 11
18 18 1 10

比如说,我想比较 col V1 和 V3 并且两列(V1 和 V3)中的相等值都分配有 0,当第一个 col (V1) 的值更大时分配 1 并且当第二列 (V3) 的值较大,则分配 2。我可以使用以下代码为每一对手动执行此操作,将结果转换为新的数据帧 freqcomp:

> freqcomp <- as.data.frame(table(ifelse(data[,1]==data[,3],0,ifelse(data[,1]>data[,3],1,ifelse(data[,1]<data[,3],2,NA)))))
>
> freqcomp
Var1 Freq
1 0 10
2 1 4
3 2 4

我怎样才能对我拥有的所有列自动进行这种比较?是否有一个很好的 for 循环来遍历所有列或我可以使用的任何其他函数?

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