我有一个包含3个变量的数据集。在这3个变量中,2个变量用一些数据存档,第三个变量是空的(即,我没有任何信息)
ex:
data1<-structure(list(COL1 = structure(1:10, .Label = c("A", "B", "C",
"D", "E", "F", "G", "H", "I", "J"), class = "factor"), COL2 = 1:10,
COL3 = c("", "", "", "", "", "", "", "", "", "")), .Names = c("COL1",
"COL2", "COL3"), row.names = c(NA, -10L), class = "data.frame")
当我尝试加载此数据集时,自动R将空单元格视为NA值。我怎样才能读取我的数据?
请帮忙......
答案 0 :(得分:4)
您可以在读取数据集时为该列指定colClasses=NULL
。
read.table('emptycell.txt', header=TRUE, fill=TRUE,
colClasses=c('character', 'numeric', NULL))
# COL1 COL2 COL3
#1 A 1
#2 B 2
#3 C 3
#4 D 4
#5 E 5
#6 F 6
#7 G 7
#8 H 8
#9 I 9
#10 J 10
或者您可以在阅读@KFB提及的数据集后将NA
更改为''
data1 <- read.table('emptycell.txt', header=TRUE, fill=TRUE)
data1[is.na(data1)] <- ''
答案 1 :(得分:0)
一般情况下,你用空白替换NA值。
你可以这样做:df <- data.frame(data=c(1:10, rep(NA, 10)), data2=2, data3=10)
df[is.na(z) ]<- ""
将会变成看起来像这样的df
data data2 data3
1 1 2 10
2 2 2 10
3 3 2 10
4 4 2 10
5 5 2 10
6 6 2 10
7 7 2 10
8 8 2 10
9 9 2 10
10 10 2 10
11 NA 2 10
12 NA 2 10
13 NA 2 10
14 NA 2 10
15 NA 2 10
16 NA 2 10
17 NA 2 10
18 NA 2 10
19 NA 2 10
20 NA 2 10
into
data ncol nrow
1 1 2 10
2 2 2 10
3 3 2 10
4 4 2 10
5 5 2 10
6 6 2 10
7 7 2 10
8 8 2 10
9 9 2 10
10 10 2 10
11 2 10
12 2 10
13 2 10
14 2 10
15 2 10
16 2 10
17 2 10
18 2 10
19 2 10
20 2 10