gpt4 book ai didi

r - 按列将匹配值求和到另一列

转载 作者:行者123 更新时间:2023-12-01 08:08:13 25 4
gpt4 key购买 nike

看来,我在这里缺少一些链接。我有数据框

df<-data.frame(w=sample(1:3,10, replace=T), x=sample(1:3,10, replace=T), y=sample(1:3,10, replace=T), z=sample(1:3,10, replace=T))

> df
w x y z
1 3 1 1 3
2 2 1 1 3
3 1 3 2 2
4 3 1 3 1
5 2 2 1 1
6 1 2 2 3
7 1 2 2 2
8 2 2 2 3
9 1 3 3 3
10 2 2 1 1

我想获取与第一列匹配的每一列的行数。

sum(df$w==df$x)
[1] 3

sum(df$w==df$y)
[1] 2
sum(df$w==df$z)
[1] 1

我知道使用 apply,我可以进行按行或按列的操作。

 apply(df,2,length)
w x y z
10 10 10 10

如何结合这两个功能?

最佳答案

试试 colSums

colSums(df[-1] == df[, 1])
# x y z
# 3 2 1

或者如果你进入*apply循环可以试试

vapply(df[-1], function(x) sum(x == df[, 1]), double(1))

关于r - 按列将匹配值求和到另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594858/

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