我有一个矩阵,其中行的所有列都可以有 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) 我有一个数值变量 (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”,但这不会使错误消失。有帮助吗?
我想处理两个光栅图像(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) 我有一个包含一些缺失值的数据框,显示为 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 …
我已经运行回归来替换数据集中缺失的数据,并希望将其与使用 Stef va Buuren 的“mice”包的结果进行比较
\n\n我在交叉验证的帖子链接上引用此链接
\n\n我也在阅读 This ,它的语法和用法类似。
\n\n我的代码是:
\n\nimp <- 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\nimp_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) 有没有办法在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)
仍然预期输出的类别应该是数字
我有一个 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)
谢谢 :)
我有一个在某些列中包含 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) 我有一个叫做东西的矢量
[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 中使用 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 值。