cSplit_e 来自 splitstackshape 包不考虑 NA?

cSplit_e from splitstackshape package not accounting for NA's?

我想跟进我 post 编辑 的问题。当我收到 baseRdata.table 解决方案时,我正在尝试使用 splitstackshape 包中的 cSplit_e 来实现相同的解决方案,正如我之前 post 的评论中所建议的那样。使用如下修改后的数据(即使用 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?

这已在 "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" 从 "depends" 移动到 "imports"。