gpt4 book ai didi

r - 如何识别一组有序列中的第一个零?

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

我正在尝试格式化数据集以用于某些生存分析模型。每一行是一所学校,随时间变化的列是该学校当年就读的学生总数。假设数据框看起来像这样(也有时间不变的列)。

Name   total.89   total.90   total.91   total.92 
a 8 6 4 0
b 1 2 4 9
c 7 9 0 0
d 2 0 0 0

我想创建一个新列,指示学校何时“死亡”,即出现零的第一列。最终,我希望此列为“自 1989 年以来的年份”,并且可以相应地重新命名列。

问题的更一般版本,对于一系列按时间排序的列,如何识别出现给定值的第一列?

最佳答案

这是一种基本的 R 方法,用于获取包含第一个零 (x = 0) 的列,如果没有,则获取 NA:

data$died <- apply(data[, -1], 1, match, x = 0)
data
# Name total.89 total.90 total.91 total.92 died
# 1 a 8 6 4 0 4
# 2 b 1 2 4 9 NA
# 3 c 7 9 0 0 3
# 4 d 2 0 0 0 2

关于r - 如何识别一组有序列中的第一个零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49353562/

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