来自splitstackshape包的cSplit_e不考虑NA?

时间:2018-02-02 05:39:32

标签: r splitstackshape

我想跟进我发布的问题here。在我收到baseRdata.table解决方案的同时,我尝试使用splitstackshape包中的cSplit_e实现相同的操作,如我之前帖子的评论中所建议的那样。使用如下修改的数据(即使用NA),

data1<-structure(list(reason = c("1", "1", NA, "1", "1", "4 5", "1", 
"1", "1", "1", "1", "1 2 3 4", "1 2 5", NA, NA)), .Names = "reason", class = "data.frame", row.names = c(NA, 
-15L))

 #loading packages
 library(data.table)
 library(splitstackshape)

cSplit_e(setDT(data1),1," ",mode = "value") # with NA's doesn't work

Error in seq.default(min(vec), max(vec)) : 'from' must be a finite number

data2<-na.omit(setDT(data1),cols="reason") # removing NA's 

cSplit_e(data2,1," ",mode = "value") # without NA's works
     reason reason_1 reason_2 reason_3 reason_4 reason_5
 1:       1        1       NA       NA       NA       NA
 2:       1        1       NA       NA       NA       NA
 3:       1        1       NA       NA       NA       NA
 4:       1        1       NA       NA       NA       NA
 5:     4 5       NA       NA       NA        4        5
 6:       1        1       NA       NA       NA       NA
 7:       1        1       NA       NA       NA       NA
 8:       1        1       NA       NA       NA       NA
 9:       1        1       NA       NA       NA       NA
10:       1        1       NA       NA       NA       NA
11: 1 2 3 4        1        2        3        4       NA
12:   1 2 5        1        2       NA       NA        5

那么,问题是cSplit_e是否会将要分割的列中的NA考虑在内?

1 个答案:

答案 0 :(得分:1)

已在“splitstackshape”的错误修复版本(v1.4.4)中修复此问题。感谢您报告。

使用update.packages()后,您应该可以:

packageVersion("splitstackshape")
## [1] ‘1.4.4’

cSplit_e(data1, 1, " ", mode = "value")
##     reason reason_1 reason_2 reason_3 reason_4 reason_5
## 1        1        1       NA       NA       NA       NA
## 2        1        1       NA       NA       NA       NA
## 3     <NA>       NA       NA       NA       NA       NA
## 4        1        1       NA       NA       NA       NA
## 5        1        1       NA       NA       NA       NA
## 6      4 5       NA       NA       NA        4        5
## 7        1        1       NA       NA       NA       NA
## 8        1        1       NA       NA       NA       NA
## 9        1        1       NA       NA       NA       NA
## 10       1        1       NA       NA       NA       NA
## 11       1        1       NA       NA       NA       NA
## 12 1 2 3 4        1        2        3        4       NA
## 13   1 2 5        1        2       NA       NA        5
## 14    <NA>       NA       NA       NA       NA       NA
## 15    <NA>       NA       NA       NA       NA       NA

请注意,1.4.4已将“data.table”从“依赖”移动到“导入”。