gpt4 book ai didi

r - 如何在包含数值的第一行之后对所有内容进行子集化

转载 作者:行者123 更新时间:2023-12-04 10:36:15 25 4
gpt4 key购买 nike

子集问题。我宁愿使用内置的 R 函数,但也不是必须的。我相信解决方案很简单,但我是 R 的新手。

这是示例数据:

df <- data.frame(year = c("2001", "2002", "2003", "2004", "2005", "2006"),
C1 = c("a", "b", "c", "d", "e", "f"),
C2 = c(NA, NA, 35, 20, NA, 50),
C3=1:6)

输出看起来像这样:

  year C1 C2 C3
1 2001 a NA 1
2 2002 b NA 2
3 2003 c 35 3
4 2004 d 20 4
5 2005 e NA 5
6 2006 f 50 6

我想选择 C2 列中从第一行开始的具有数值(即 >0)的所有列,这样我的输出将如下所示:

  year C1 C2 C3
1 2003 c 35 3
2 2004 d 20 4
3 2005 e NA 5
4 2006 f 50 6

注意 C2 列第 3 行中的 NA 未被排除(这是需要的)。我试过以下方法,但不包括 NA 行:

new_df=subset(df, C2>0)

我也试过这个但也不起作用:

new_df=subset(df, C2>0 | is.na(C2))

最佳答案

df[which(!is.na(df$C2))[1]:nrow(df),]

输出:

  year C1 C2 C3
3 2003 c 35 3
4 2004 d 20 4
5 2005 e NA 5
6 2006 f 50 6

关于r - 如何在包含数值的第一行之后对所有内容进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518955/

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