gpt4 book ai didi

R:用向量中的项替换NA

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

我正在尝试用相似组的平均值替换数据中的某些缺失值。

我的数据如下所示:

   X   Y
1 x y
2 x y
3 NA y
4 x y

我希望它看起来像这样:
  X   Y
1 x y
2 x y
3 y y
4 x y

我写了这个,它奏效了
for(i in 1:nrow(data.frame){
if( is.na(data.frame$X[i]) == TRUE){
data.frame$X[i] <- data.frame$Y[i]
}
}

但是我的data.frame几乎有一百万行长,并且for/if语句非常慢。我想要的是类似的东西
is.na(data.frame$X) <- data.frame$Y

但这会导致大小不匹配的错误。似乎应该有一个执行此操作的命令,但是我在SO或R帮助列表上找不到它。有任何想法吗?

最佳答案

ifelse是你的 friend 。

使用Dirk的数据集

df <- within(df, X <- ifelse(is.na(X), Y, X))

关于R:用向量中的项替换NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6684695/

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