gpt4 book ai didi

R:为满足两个条件的某些数据设置一个值

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

我不知道如何设置这个最简单的方法。我有一个名为 Test 的数据框,其中有一列包含一些 NA 值。现在我想将满足以下条件的所有字段设置为 1:

  1. 行数 > 60
  2. 如果特定字段中存在 NA

到目前为止我有:

Test$MyColumn[is.na(Test$MyColumn)] <- 1

这可行,但我不知道如何设置第二个条件:-/

最佳答案

如果在将元素更改为 1 之前必须同时满足这两个条件在 bb这是另一种选择:

aa <- 1:10
bb <- c(1,NA,6,4,NA,9,1,NA,2,5)
cc <- c(100,102,104,NA,78,54,99,NA,22,0)
dd <- data.frame(aa,bb,cc)
dd
dd$bb[4:nrow(dd)][is.na(dd$bb[4:nrow(dd)])] <- 1
dd

这是原始数据集:

   aa bb  cc
1 1 1 100
2 2 NA 102
3 3 6 104
4 4 4 NA
5 5 NA 78
6 6 9 54
7 7 1 99
8 8 NA NA
9 9 2 22
10 10 5 0

这是修改后的数据集:

   aa bb  cc
1 1 1 100
2 2 NA 102
3 3 6 104
4 4 4 NA
5 5 1 78
6 6 9 54
7 7 1 99
8 8 1 NA
9 9 2 22
10 10 5 0

这会改变 NA如果有 NA,则在所有列的第 4-10 行中在 bb 的第 4-10 行中:

aa <- 1:10
bb <- c(1,NA,6,4,NA,9,1,NA,2,5)
cc <- c(100,102,104,NA,78,54,99,NA,22,0)
dd <- data.frame(aa,bb,cc)
dd
dd[4:nrow(dd),1:3][is.na(dd$bb[4:nrow(dd)]),] <- 1
dd

aa bb cc
1 1 1 100
2 2 NA 102
3 3 6 104
4 4 4 NA
5 1 1 1
6 6 9 54
7 7 1 99
8 1 1 1
9 9 2 22
10 10 5 0

这会改变 NA如果有 NA,则在所有列的第 4-10 行中在 bb 的第 4-10 行中然后它会更改所有剩余的 NAbb :

aa <- 1:10
bb <- c(1,NA,6,4,NA,9,1,NA,2,5)
cc <- c(100,102,104,NA,78,54,99,NA,22,0)
dd <- data.frame(aa,bb,cc)
dd
dd[4:nrow(dd),1:3][is.na(dd$bb[4:nrow(dd)]),] <- 1
dd$bb[is.na(dd$bb)] <- 1
dd

aa bb cc
1 1 1 100
2 2 1 102
3 3 6 104
4 4 4 NA
5 1 1 1
6 6 9 54
7 7 1 99
8 1 1 1
9 9 2 22
10 10 5 0

关于R:为满足两个条件的某些数据设置一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877832/

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