相关疑难解决方法(0)

如何在庞大的数据框架中将NaN值替换为零?

我尝试NaN使用以下脚本用零替换值:

rapply( data123, f=function(x) ifelse(is.nan(x),0,x), how="replace" )
# [31]   0.00000000  -0.67994832   0.50287454   0.63979527   1.48410571  -2.90402836
Run Code Online (Sandbox Code Playgroud)

NaN值显示为零,但是当我输入数据框的名称并尝试查看它时,该值仍然保持为NaN.

data123$contri_us
# [31]          NaN  -0.67994832   0.50287454   0.63979527   1.48410571  -2.90402836
Run Code Online (Sandbox Code Playgroud)

我不确定该rapply命令是否实际应用了数据框中的调整,或者只是替换了所示的值.

知道如何将NaN值实际更改为零吗?

replace r

32
推荐指数
4
解决办法
9万
查看次数

在dplyr链的所有列中替换NA

在dplyr链中替换NA的问题导致解决方案

dt %.% group_by(a) %.% mutate(b = ifelse(is.na(b), mean(b, na.rm = T), b))
Run Code Online (Sandbox Code Playgroud)

与dplyr.我想用dplyr链来估算所有colums.没有单个列可以分组,而是我希望所有数字列都通过诸如列均值之类的方式替换所有NAs.

使用tidyverse/dp用列方法替换所有NA的最优雅方法是什么?

r dplyr tidyverse

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

在dplyr中将NA替换为零而不使用list()

在dplyr中,我可以使用以下代码将NA替换为0.问题是这会在我的数据框中插入一个列表,这会阻碍进一步的分析.我甚至不了解列表或原子向量或其中任何一个.我只想选择某些列,并将所有出现的NA替换为零.并保持列整数状态.

library(dplyr)
df <- tibble(x = c(1, 2, NA), y = c("a", NA, "b"), z = list(1:5, NULL, 10:20))
df
df %>% replace_na(list(x = 0, y = "unknown"))
Run Code Online (Sandbox Code Playgroud)

这有效但将列转换为列表.如何在不将列转换为列表的情况下执行此操作?

以下是如何在基础R中执行此操作.但不确定如何将其用于mutate语句:

df$x[is.na(df$x)] <- 0
Run Code Online (Sandbox Code Playgroud)

r na dplyr

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

R - 将nan转换为0导致全0

我有一个包含NaN的数据框,我想将其转换为0.我写了一个我觉得应该工作的函数:

fix_nan <- function(x){
    return(x[is.nan(x)] <- 0)
}
Run Code Online (Sandbox Code Playgroud)

然后我将它应用于数据框:

train_e <- structure(list(pack_id = structure(1:10, .Label = c("1", "2", 
"4", "5", "7", "8", "9", "10", "11", "14"), class = "factor"), 
    item_1 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), item_2 = c(NaN, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN), item_3 = c(1.45225232891169, 
    0.613104472886409, NaN, 1.02450431651439, 0.735706794978741, 
    0.741937344729377, NaN, 0.83034830207343, 0.97650959186721, 
    0.750305594399894), item_4 = c(0.645137961373585, 0.615792803650477, 
    Inf, 0.752866415261568, 0.84901755126673, 0.646398200985872, 
    Inf, 0.786548355648346, 0.725113372622438, 0.709897990984761
    ), item_5 = …
Run Code Online (Sandbox Code Playgroud)

r nan na

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

标签 统计

r ×4

dplyr ×2

na ×2

nan ×1

replace ×1

tidyverse ×1