gpt4 book ai didi

r - 向量化行向量与 R 中数据帧的每一行的比较?

转载 作者:行者123 更新时间:2023-12-04 21:52:30 25 4
gpt4 key购买 nike

假设我有一个来自读取以下文件 Foo.csv 的数据框

A,B,C
1,2,3
2,2,4
1,7,3

我想计算第一行和后续行之间匹配元素的数量。例如,第一行在一个位置与第二行匹配,在两个位置与第三行匹配。下面是一些可以达到预期效果的代码。
foo = read.csv("Foo.csv")                      

numDiffs = rep(0,dim(foo)[1])
for (i in 2:dim(foo)[1]) {
numDiffs[i] = sum(foo[i,] == foo[1,])
}
print(numDiffs)

我的问题是, 是否可以将其矢量化以终止循环并可能减少运行时间 ?我的第一次尝试在下面,但它留下了一个错误,因为 ==没有为这种类型的比较定义。
colSums(foo == foo[1,])

最佳答案

> rowSums(sapply(foo, function(x) c(0,x[1] == x[2:nrow(foo)])))
[1] 0 1 2

关于r - 向量化行向量与 R 中数据帧的每一行的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20295907/

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