标签: na

将 NA 行替换为前一行和特定列中的非 NA 值

我有一个矩阵,其中行的所有列都可以有 NA。我想用前一行的非 NA 值和第 K 列替换这些 NA 行。

例如,这个矩阵:

      [,1] [,2]
 [1,]   NA   NA
 [2,]   NA   NA
 [3,]    1    2
 [4,]    2    3
 [5,]   NA   NA
 [6,]   NA   NA
 [7,]   NA   NA
 [8,]    6    7
 [9,]    7    8
[10,]    8    9
Run Code Online (Sandbox Code Playgroud)

必须转换为这个非 NA 矩阵,其中我们使用第 2 列进行替换:

      [,1] [,2]
 [1,]   NA   NA
 [2,]   NA   NA
 [3,]    1    2
 [4,]    2    3
 [5,]    3    3
 [6,]    3    3
 [7,]    3    3
 [8,]    6    7
 [9,]    7    8
[10,]    8    9
Run Code Online (Sandbox Code Playgroud)

我为此编写了一个函数,但使用循环:

# …
Run Code Online (Sandbox Code Playgroud)

r na

0
推荐指数
1
解决办法
4341
查看次数

“未替换的值被视为 NA,因为 .x 不兼容”:重新编码数字变量

我有一个数值变量 (V110),其值介于 1-4 之间。由于数字代表对政府的较高信任度 (1) 和较低信任度 (4),我想对它们进行重新编码,以便最高值表示最高信任度,最低值表示最低信任度。现在我尝试了以下语法:

wv6$n.V110 <- recode(wv6$V110, "1=4; 2=3; 3=2; 4=1")
Run Code Online (Sandbox Code Playgroud)

但 R 不断输出错误消息:

警告消息:未替换的值被视为 NA,因为 .x 不兼容。请详细指定替换或提供 .default

我检查了各个答案,即给出的值,其中一些说-2(即不属于“1-4”部分的值,这可能是问题吗?我尝试添加两个“.default=NA”或在语法末尾添加“else=NA”,但这不会使错误消失。有帮助吗?

r incompatibility .x na recode

0
推荐指数
1
解决办法
1万
查看次数

R 使用带有 NA 输入的 Rcpp 崩溃/中止

我想处理两个光栅图像(Ra 和 Rb),Ra 是像素值本身,Rb 是其邻居的值。以 sum 为例,假设有一个 3*3 的邻居,对于 Ra 中的每个像素,我会将其值添加到 Rb 中的邻居像素的值中,最终我将得到另一幅图像。

R 光栅包提供了一个焦点函数,该函数仅适用于一个图像输入,我尝试修改 C++ 代码(在此处输入链接描述)以使用 Rcpp 接受两个图像输入。如果 Rb 的输入图像中没有缺失值,则修改后的代码可以很好地工作。然而,如果 Rb 中存在 NA,R 总是会中止。具体来说,在第二次或第三次测试时中止。它可能与这篇文章类似。然而,如果输入 Rb 中没有 NA,它不会崩溃。看来我没有正确处理 NA。我对 C++ 没有深入的了解,有人可以帮我检查一下吗?

这是我的.cpp 文件:

#include <Rcpp.h>
#include <R.h>
#include <Rinternals.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <Rmath.h>
#include "Rdefines.h"
#include "R_ext/Rdynload.h"

using namespace Rcpp;
// [[Rcpp::export]]
NumericVector focal_quantile(NumericVector xd, int ngbb, NumericVector sf) {
  //the imges are transfered to vector, ngbb is the size of the …
Run Code Online (Sandbox Code Playgroud)

c++ r rcpp rstudio na

0
推荐指数
1
解决办法
273
查看次数

有条件地删除缺失数据的行

我有一个包含一些缺失值的数据框,显示为 NA。

例如:

     V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1    4  3  6  7  2  1  2  3  4   1
2    5  5  4  3  2  1  3  7  6   7  
3    6  6  NA NA NA NA NA NA NA NA
4    5  2  2  1  7  NA NA NA NA NA
5    7  NA NA NA NA NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)

我想删除包含至少 80% 缺失数据的行。在这个例子中,它显然是第 3 行和第 5 行。我知道如何手动删除行,但我想要一些代码方面的帮助,因为我的原始数据帧包含 480 个变量和 1000 多行,因此是自动识别和删除行的代码>80% NA …

boolean-logic r dataframe na

0
推荐指数
1
解决办法
643
查看次数

“mice”R 包没有输入数据

我已经运行回归来替换数据集中缺失的数据,并希望将其与使用 Stef va Buuren 的“mice”包的结果进行比较

\n\n

我在交叉验证的帖子链接上引用此链接

\n\n

我也在阅读 This ,它的语法和用法类似。

\n\n

我的代码是:

\n\n
imp <- mice(without_response, method = "norm.predict", m = 1) \n#Impute data\nimp_with_mice <- complete(imp) # Store data\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我输出:

\n\n
imp_with_mice[impute_here,]\n
Run Code Online (Sandbox Code Playgroud)\n\n

为了获取需要输入的行,不会替换任何值。我最初在丢失数据的地方有“?”。我现在已经尝试将 \'NA\' 作为字符串,然后尝试使用不带引号的 NA 来类似于简历帖子。

\n\n

在任何情况下,我都无法让老鼠用任何东西替换我的 16 个第 7 列值。

\n\n

请帮助我使用。

\n\n

这些是我希望替换变量的行的示例:

\n\n
      V1  V2 V3 V4 V5 V6 V7 V8 V9 V10 \n24 1057013 8  4 5   1  2 NA  7  3  1 \n41 1096800 6  6 6   9  6 NA …
Run Code Online (Sandbox Code Playgroud)

r na r-mice

0
推荐指数
1
解决办法
1万
查看次数

用 NA 替换 0 而不更改类

有没有办法在asd$b == "b"不改变 asd 类的情况下用 NA 替换 0

> asd <- data.frame(a = c(1,0,0), b = c("a","b","c"))
> asd
  a b
1 1 a
2 0 b
3 0 c
Run Code Online (Sandbox Code Playgroud)

我在下面尝试过,但失败了

asd$a <- ifelse(asd$a[asd$b == "b"] == 0, "NA", asd$a[asd$b == "b"])
Run Code Online (Sandbox Code Playgroud)

预期输出

> asd
  a   b
1 1   a
2 NA  b
3 0   c
Run Code Online (Sandbox Code Playgroud)

仍然预期输出的类别应该是数字

r vector na

0
推荐指数
1
解决办法
61
查看次数

是否有像 fill 这样的 R 函数,用于将 NA 的字符填充为 const

我有一个 data.table 这样的:

missings_table = data.table( name = c("Jim","Paul",NA,"Sam"),
                         midterm = c(0,15,13,12),
                         final = c(0,NA,16,13));missings_table
Run Code Online (Sandbox Code Playgroud)

我想做的是类似于

nafill(missings_table$final,type = "const", fill = 0)
Run Code Online (Sandbox Code Playgroud)

但如果我尝试

nafill(missings_table$name,type = "const", fill = "name")
Run Code Online (Sandbox Code Playgroud)

我得到

'x' argument must be numeric type, or list/data.table of numeric types
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

r fill na data.table

0
推荐指数
1
解决办法
57
查看次数

R - 将 Nan 转换为 NA

我有一个在某些列中包含 Nans 的数据框。如何将所有列中的 nan 转换为 NA?

我试过了,df[is.nan(df)]<-NA但它显示了这个错误:

Error in is.nan(df) : default method not implemented for type 'list'
Run Code Online (Sandbox Code Playgroud)

r nan na

-1
推荐指数
1
解决办法
8348
查看次数

如何找到向量中缺失值的位置

R语言必须具有什么功能才能找到数据框中的缺失值,或者至少如何知道数据框具有缺失值?

r missing-data na

-2
推荐指数
1
解决办法
1774
查看次数

为什么R说它不是NA,而它是NA?

我有一个叫做东西的矢量

[1] "Apple"     "Banana"      "Coco" "Cucumber"   "Donut"    "Egg"     "Granate"    
 [8] "Lemon"    "Orange"  "Pineapple"    "Potato" "Quinoa"     "Tea"  "Tangerine"    
[15] "Tuna"  "Wax"   "Yuzu"    "Zuccini"       ""  
Run Code Online (Sandbox Code Playgroud)

如果我问is.na(stuff)它给了我

> is.na(stuff)
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[14] FALSE FALSE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

但显然最后一个是NA.怎么了?

r na

-2
推荐指数
1
解决办法
133
查看次数

在 R 中计算标准偏差时忽略 NA 值

我在 R 中使用 Standard Deviation sd() 函数。我的问题是如何忽略给定数据集中的 NA 值,用法示例:

x <- c(0.23,0.26,0.77,0.44,0.35,NA)
sd(x)
Run Code Online (Sandbox Code Playgroud)

它返回 NA,有没有办法忽略 NA 值。

r na

-4
推荐指数
1
解决办法
1176
查看次数

标签 统计

na ×11

r ×11

.x ×1

boolean-logic ×1

c++ ×1

data.table ×1

dataframe ×1

fill ×1

incompatibility ×1

missing-data ×1

nan ×1

r-mice ×1

rcpp ×1

recode ×1

rstudio ×1

vector ×1