标签: missing-data

如何在 R 中 na.locf 而不使用额外的包

给定一个向量,例如(比如说),c(2,NA,5,NA,NA,1,NA)问题是“最后的观察结转”导致向量c(2,2,5,5,5,1,1)

正如这里所回答的,na.locfzoo包中可以做到这一点。然而,考虑到问题的简单性,以及要在“空白”R 环境中执行多次的事实,我想在不加载包的情况下执行此操作。有没有一种方法可以仅使用基本的 R 简单快速地完成此操作?(向量可能很长并且可能包含许多连续的 NA。)

performance r missing-data na

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

R 如何处理 NA 进行显着性检验?

我有一个大型数据框,其中一些列由于取 0 的日志而具有 NA。

我一直在对数据进行各种测试(ANOVA、Tukey、Kruskal Wallis、Mann Whitney),但我无法弄清楚 NA 值发生了什么。

R 是否完全排除了这些值?

r missing-data

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

R imputeTS 包中 na.kalman 函数的奇怪行为

我正在尝试imputeTS包中的功能。该包提供了多个函数来估算单变量时间序列数据中的缺失值。我测试了它们,除了功能之外,它们都很棒na_kalman。此函数更改原始数值向量。下面是一个例子。

# Load packages
library(imputeTS)

# Set seeds
set.seed(123)

# Generate 10 random number
dat <- rnorm(10)

# Replace the first 10 numbers to be NA
dat[1:5] <- NA

# Check the numbers in dat
dat
 [1]         NA         NA         NA         NA         NA  1.7150650  0.4609162 -1.2650612 -0.6868529
[10] -0.4456620
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我创建了一个包含 10 个数字的向量,而前 5 个数字是NA

# Apply the na_kalman function
dat2 <- na_kalman(dat)

# Check the numbers in dat2
dat2
[1]  1.7150650  1.7150650  1.7150650  1.7150650  1.7150650 …
Run Code Online (Sandbox Code Playgroud)

r time-series missing-data imputation imputets

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

如何替换python中的NaN值

我的数据框中有一个NaN值列表,我想用空字符串替换 NaN 值。

到目前为止我已经尝试过,但不起作用:

df_conbid_N_1 = pd.read_csv("test-2019.csv",dtype=str, sep=';', encoding='utf-8')
df_conbid_N_1['Excep_Test'] = df_conbid_N_1['Excep_Test'].replace("NaN","")
Run Code Online (Sandbox Code Playgroud)

python missing-data dataframe pandas imputation

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

如何在测试集上估算缺失值?

我现在正在处理丢失的数据。我的测试和训练集中缺少数据。我对如何处理测试集中缺失的数据感到有些困惑。如果我使用“均值”方法进行插补,如果我想插补测试集中的缺失值,我应该使用从训练集或测试集计算的均值。感谢你们对我的帮助!

missing-data data-science

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

Amazon RDS Postgresql 快照保留架构但丢失所有数据

我使用 AWS RDS 控制台创建了包含多个架构的 Postgresql v11 数据库的快照备份。然后我从备份创建了一个新实例。该过程似乎运行良好,没有错误。然而,在检查新实例中的数据时,我注意到只有一个模式中的数据未保留。模式结构、表、索引、约束等看起来不错,但每个表都是空的(模式中每个表的 select count(*) from schema.table 都是 0)。所有其他模式看起来都很好并且包含预期的数据。在尝试解决这个问题时,我到处寻找(无法在网上找到有关此问题的帮助),并自己尝试了许多测试(更改角色、重建架构、权限等等)。什么会导致我的快照保留整个架构结构,但丢失所有数据本身?

postgresql snapshot relational-database amazon-web-services missing-data

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

如何修复错误:下标`AMr1.orig` 是一个矩阵,数据`x.imp[, -possibleFactors][AMr1.orig]` 的大小必须为1

我正在尝试运行 Amelia 以使用以下代码在几个变量上估算一些缺失的数据:

set.seed(1) zz[,c("id", "sex", "team", "minsSocial", "satisTravail", "performance")] <- Amelia::amelia(zz[,c("id ", "sex", "team", "minsSocial", "satisTravail", "performance")], m=1, idvars="id", noms=c("sex","team"))$imputations$进出口1

不幸的是,我收到此错误消息:

Erreur : 下标AMr1.orig是一个矩阵,数据的x.imp[, -possibleFactors][AMr1.orig]大小必须为 1。

关于问题出在哪里以及我如何解决它的任何疑虑?是因为我的数据包含 <1 的值吗?

谢谢!

error-handling subscript missing-data

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

为什么我在 R 的这个计算中得到 NAs?

在处理 Rcpp 程序时,我使用了 sample() 函数,这给了我以下错误:“概率不允许 NA。” 我将这个问题追溯到我使用的概率向量中包含 NA 值的事实。我不知道如何。下面是一些捕获错误的 R 代码:

n.0=20
n.1=20
n.reps=1
beta0.vals=rep(seq(-.3,.1,,n.0),n.reps)
beta1.vals=rep(seq(-7,0,,n.1),n.reps)
beta.grd=as.matrix(expand.grid(beta0.vals,beta1.vals))

n.rnd=200
beta.rnd.grd=cbind(runif(n.rnd,min(beta0.vals),max(beta0.vals)),runif(n.rnd,min(beta1.vals),max(beta1.vals)))
beta.grd=rbind(beta.grd,beta.rnd.grd)
  
N = 22670
count = 0

for(i in 1:dim(beta.grd)[1]){ # iterate through 600 possible beta values in beta grid
    
  beta.ind = 0 # indicator for current pair of beta values
    
  for(j in 1:N){ # iterate through all possible Nsums
    logit = beta.grd[i,1]/N*(j - .1*N)^2 + beta.grd[i,2];
    phi01 = exp(logit)/(1 + exp(logit))
      
    if(is.na(phi01)){ 
      count = count + 1
    }
  }
} …
Run Code Online (Sandbox Code Playgroud)

r probability missing-data

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

如何删除 NaN 数量最多的 DataFrame 行?

当我们知道要保留的非 NaN 数量时,本网站中的 Pandas 和其他问题/答案为这种情况提供了解决方案。如何有效地仅删除最差的行,或者如果有多个行是最差的行。下面的一些示例展示了如何通过设置轴来删除列,也可以删除行。然而,我们需要指定要保留多少个非 NaN。

>>> import numpy as np
>>> df = pd.DataFrame([[1,np.nan,1,np.nan], [1,1,1,1], [1,np.nan,1,1], [np.nan,1,1,1]], columns=list('ABCD'))
     A    B  C    D
0  1.0  NaN  1  NaN
1  1.0  1.0  1  1.0
2  1.0  NaN  1  1.0
3  NaN  1.0  1  1.0

>>> df.dropna(thresh=3, axis=1)
     A  C    D
0  1.0  1  NaN
1  1.0  1  1.0
2  1.0  1  1.0
3  NaN  1  1.0
Run Code Online (Sandbox Code Playgroud)

或者完全删除它们:

>>> df.dropna(axis=1)
   C
0  1
1  1
2  1
3  1
Run Code Online (Sandbox Code Playgroud)

请注意, 我在下面提供了更多背景信息。虽然欢迎提供具体解决方案的提示,但我更喜欢帖子标题中所述的有关一般情况的答案。

上下文 …

python nan missing-data dataframe pandas

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

从下到上填充缺失值

问题的例子

           date          X         Y
 2012-07-05 00:01:19   0.0122     NA
 2012-07-05 03:19:34   0.0121     NA
 2012-07-05 03:19:56   0.0121   0.027
 2012-07-05 03:20:31   0.0121   0.027
 2012-07-05 04:19:56   0.0121   0.028
 2012-07-05 04:20:31   0.0121   0.028
 2012-07-05 04:20:50   0.0121   0.028
Run Code Online (Sandbox Code Playgroud)

我怎样才能填补NA0.027Y列?

r missing-data na

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