首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在数据帧列表上使用"na_ma“时出现问题?

尝试在数据帧列表上使用"na_ma“时出现问题?
EN

Stack Overflow用户
提问于 2021-11-08 12:37:10
回答 1查看 47关注 0票数 1

我是一个相当新手的R用户,但我一直在尝试做一些简单的缺少值的替换。(用NA之前和之后的值的平均值替换NA )

我一直在使用imputeTS库中的na_ma()函数,它正在做我需要做的事情。

代码语言:javascript
复制
na_ma(x , k=1, weighting = "simple") 

我已经将它应用到一个列,然后是一个数据帧,一切都很好。我现在希望将它应用于数据帧列表,但它似乎不起作用。

如果有人能为我指出正确的方向,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-11-09 21:36:07

无论是使用lapply还是使用循环,都应该非常简单。

下面是一个可重现的例子-- lapply:

代码语言:javascript
复制
library("imputeTS")

a <- data.frame(x1 <- c(2,NA,NA,2,4,6,6), x2 <- c(2,NA,7,2,NA,6,6))
b <- data.frame(x1 <- c(2,NA,33,2,4,61,6), x2 <- c(22,NA,71,2,NA,36,6))

# this is your list with data.frames that contain columns with NAs
l <- list(a,b)

# Don't forget to assign the result of lapply back to your list l
l <-lapply(l, function(x) na_ma(x , k=1, weighting = "simple"))
l

下面是一个带有列表的示例:

代码语言:javascript
复制
library("imputeTS")

# Create Example data
a <- data.frame(x1 <- c(2,NA,NA,2,4,6,6), x2 <- c(2,NA,7,2,NA,6,6))
b <- data.frame(x1 <- c(2,NA,33,2,4,61,6), x2 <- c(22,NA,71,2,NA,36,6))
l <- list(a,b)


for (i in length(l)) 
{
  l[[i]] <- na_ma(l[[i]] , k=1, weighting = "simple")
}
l 

for循环版本可能具有更好地跟踪警告或错误的优势。但不管怎样,我想这两个版本都应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69883551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档