标签: na

如何在R数据帧中用零替换NA值?

我有一个数据框,有些列有NA值.

如何NA用零替换这些值?

r missing-data dataframe na imputation

673
推荐指数
18
解决办法
112万
查看次数

从矢量中删除NA值

我有一个巨大的向量,它有几个NA值,我试图找到该向量中的最大值(向量是所有数字),但由于NA值,我不能这样做.

如何删除NA值以便我可以计算最大值?

r max min missing-data na

177
推荐指数
7
解决办法
49万
查看次数

将包含NaN的Pandas列转换为dtype`int`

我将.csv文件中的数据读取到Pandas数据帧,如下所示.对于其中一列,即id我想将列类型指定为int.问题是id系列缺少/空值.

当我尝试id在读取.csv时将列转换为整数时,我得到:

df= pd.read_csv("data.csv", dtype={'id': int}) 
error: Integer column has NA values
Run Code Online (Sandbox Code Playgroud)

或者,我尝试在阅读后转换列类型,如下所示,但这次我得到:

df= pd.read_csv("data.csv") 
df[['id']] = df[['id']].astype(int)
error: Cannot convert NA to integer
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

python pandas na

132
推荐指数
9
解决办法
13万
查看次数

省略包含NA的特定列的行

我想知道如何省略NA数据框中的值,但只在我感兴趣的某些列中.

例如,

DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
Run Code Online (Sandbox Code Playgroud)

但我只是想省略其中的数据yNA,因此结果应该是

  x  y  z
1 1  0 NA
2 2 10 33
Run Code Online (Sandbox Code Playgroud)

na.omit似乎删除所有行包含任何NA.

有人可以帮我解决这个简单的问题吗?

但如果现在我改变了这样的问题:

DF <- data.frame(x = c(1, 2, 3,NA), y = c(1,0, 10, NA), z=c(43,NA, 33, NA))
Run Code Online (Sandbox Code Playgroud)

如果我只想省略x=na或者z=na,我可以|在哪里放入函数?

r dataframe na

113
推荐指数
6
解决办法
18万
查看次数

如何通过胁迫引入NA时避免警告

我通常更喜欢编码R,以便我不会收到警告,但我不知道在使用as.numeric转换字符向量时如何避免收到警告.

例如:

x <- as.numeric(c("1", "2", "X"))
Run Code Online (Sandbox Code Playgroud)

会给我一个警告,因为它通过强制引入了NA.我希望通过强制来引入NA - 有没有办法告诉它"是的,这就是我想做的事情".或者我应该接受警告?

或者我应该使用不同的功能来执行此任务?

parsing casting r na

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

在数据框的选定列中包含NA(缺失)值的行的子集

我们有一个CSV文件的数据框.数据框DF包含包含观察值的列和VaR2包含测量日期的列().如果未记录日期,则CSV文件包含NA缺失数据的值.

Var1  Var2 
10   2010/01/01
20   NA
30   2010/03/01
Run Code Online (Sandbox Code Playgroud)

我们希望使用subset命令来定义一个新的数据框new_DF,使其只包含具有NA'column(VaR2)值的行.在给出的示例中,只有第2行将包含在新的中DF.

命令

new_DF<-subset(DF,DF$Var2=="NA") 
Run Code Online (Sandbox Code Playgroud)

不起作用,结果数据框没有行条目.

如果在原始CSV文件NA中交换 了值NULL,则相同的命令会产生所需的结果:new_DF<-subset(DF,DF$Var2=="NULL").

如果字符串NA在原始CSV文件中提供了值,那么如何使此方法有效?

csv r subset dataframe na

87
推荐指数
6
解决办法
24万
查看次数

删除dplyr管道中的NA

我尝试使用dplyr管道从子集中删除NA.我的回答是错过了一步的迹象.我正在尝试学习如何使用dplyr编写函数:

> outcome.df%>%
+ group_by(Hospital,State)%>%
+ arrange(desc(HeartAttackDeath,na.rm=TRUE))%>%
+ head()
Source: local data frame [6 x 5]
Groups: Hospital, State
Run Code Online (Sandbox Code Playgroud)
                           Hospital State HeartAttackDeath
1     ABBEVILLE AREA MEDICAL CENTER    SC               NA
2        ABBEVILLE GENERAL HOSPITAL    LA               NA
3      ABBOTT NORTHWESTERN HOSPITAL    MN             12.3
4   ABILENE REGIONAL MEDICAL CENTER    TX             17.2
5        ABINGTON MEMORIAL HOSPITAL    PA             14.3
6 ABRAHAM LINCOLN MEMORIAL HOSPITAL    IL               NA
Variables not shown: HeartFailureDeath (dbl), PneumoniaDeath
  (dbl)

r na dplyr

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

如何替换表*中的NA值以用于所选列*?data.frame,data.table

有很多关于替换NA值的帖子.我知道可以用以下内容替换下表/框架中的NA:

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

但是,如果我想将其限制为仅某些列,该怎么办?让我给你看一个例子.

首先,让我们从数据集开始.

set.seed(1234)
x <- data.frame(a=sample(c(1,2,NA), 10, replace=T),
                b=sample(c(1,2,NA), 10, replace=T), 
                c=sample(c(1:5,NA), 10, replace=T))
Run Code Online (Sandbox Code Playgroud)

这使:

    a  b  c
1   1 NA  2
2   2  2  2
3   2  1  1
4   2 NA  1
5  NA  1  2
6   2 NA  5
7   1  1  4
8   1  1 NA
9   2  1  5
10  2  1  1
Run Code Online (Sandbox Code Playgroud)

好的,所以我只想将替换限制为列'a'和'b'.我的尝试是:

x[is.na(x), 1:2]<-0
Run Code Online (Sandbox Code Playgroud)

和:

x[is.na(x[1:2])]<-0
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.

我的data.table尝试,在哪里y<-data.table(x),显然永远不会起作用:

y[is.na(y[,list(a,b)]), ]
Run Code Online (Sandbox Code Playgroud)

我想在is.na参数中传递列,但显然不起作用.

我想在data.frame和data.table中执行此操作.我的最终目标是在'a'和'b'中将1:2重新编码为0:1,同时保持'c'的方式,因为它不是逻辑变量.我有一堆列,所以我不想一个接一个地做.而且,我只想知道如何做到这一点.

你有什么建议吗?

replace r dataframe na data.table

71
推荐指数
4
解决办法
11万
查看次数

如何删除仅包含NAs的列?

我有一个data.frame包含一些包含所有NA值的列,如何从data.frame中删除它们.

我可以使用这个功能吗?

na.omit(...) 
Run Code Online (Sandbox Code Playgroud)

指定一些额外的参数?

r dataframe na

70
推荐指数
7
解决办法
8万
查看次数

检测向量是否至少有1个NA的最快方法?

检测向量NA在R中是否至少有1的最快方法是什么?我一直在用:

sum( is.na( data ) ) > 0
Run Code Online (Sandbox Code Playgroud)

但这需要检查每个元素,强制和和函数.

r na

68
推荐指数
5
解决办法
7万
查看次数

标签 统计

na ×10

r ×9

dataframe ×5

missing-data ×2

casting ×1

csv ×1

data.table ×1

dplyr ×1

imputation ×1

max ×1

min ×1

pandas ×1

parsing ×1

python ×1

replace ×1

subset ×1