gpt4 book ai didi

r - 从右到左计算 1 的个数,到第一个 0 为止

转载 作者:行者123 更新时间:2023-12-02 09:18:33 24 4
gpt4 key购买 nike

我想计算多列中从右到左出现的 1 的数量,遇到第一个 0 时停止。

示例 DF:

df<-data.frame(replicate(7,sample(0:1,30,rep=T)))
colnames(df)<-seq(1950,2010,10)

作为示例,我在此处的新列“条件”下手动输入了所需的结果:

enter image description here

预先感谢您的帮助,

最佳答案

这是一个完全矢量化的尝试

indx <- rowSums(df) == ncol(df) # Per Jaaps comment
df$condition <- ncol(df) - max.col(-df, ties = "last")
df$condition[indx] <- ncol(df) - 1

这基本上是从右侧找到第一个零,并计算之前有多少列(基本上是二进制数据中的1)

编辑

必须添加对所有行都是 1 时的特殊情况的处理

关于r - 从右到左计算 1 的个数,到第一个 0 为止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44646884/

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