2016-09-22 96 views
-6

我有一个矩阵,其中大多数列有10行。我想要替换每行中少于10行的所有值。我如何在R中完成这项工作?如何用R中的NA代替少于x值的列

感谢

+3

一个data.frame或矩阵已经固定尺寸,即如果一个矩阵是4x5的,这意味着有4行和5列,所有列在该矩阵中有4个元素。目前还不清楚你的意思 – akrun

+0

对不起,我误报了一些事情。所有的列都有10行,只有一些单元格是空的。因此,对于任何单元格为空的列,我想用NA来替换该列中的所有单元格。 –

+0

你可以用'df [,colSums(df =='')> 0] < - NA'来做到这一点(假设这些列是'character'类 – akrun

回答

0

你可以试试这个

df[df==""] <- NA 

NAME DIST 
1 A 0 
2 A <NA> 
3 A 100 
4 A 2 
5 A 1 
6 A 4 
7 A <NA> 
8 A 1 
9 A 1 

#DATA

df <- data.frame(NAME = rep("A",9), DIST = c(0,"",100,2,1,4,"",1,1)) 
+1

谢谢,我会尽快尝试。 –