尝试了SO中给出的大多数解决方案。以下是我尝试过的尝试
async index(req, res) {
try {
const { AdminId } = req.body
const userData = await User.findAll({
where: { AdminId: AdminId },
include: [UserStatus,
{ model: SurveyResult, include: [Survey] }]
})
.map(user => user.toJSON())
}
}
但是整个数据表在所有单元格中都转换为NA。我想将所有列中的所有blank(“”)都更改为NA。
它是 DT[, names(DT) := lapply(.SD, function(x) gsub("", NA, x))]
DT <-data.table(lapply(DT, function(x){ x[x == ""] <- NA}))
DT[, names(DT) := lapply(.SD, function(x) replace(x, x =="",NA))]
DT[, names(DT) := lapply(.SD, function(x) gsub("", NA, x))]
。不是data.table
也不会从csv文件中读取数据-我可以在其中提及data.frame
更多输入。
数据从配置单元查询中读取到data.table中。当我发出view命令时,很少有单元格显示为空,而很少有单元格显示为na strings
NA
要将这些空格转换为NA(在实际数据中,我有100多个cols),我尝试了这些命令。同样,当我拿Col1 Col2 Col3
1 NA
2 NA NA
10 ABC
时,我也得到“”和2。
答案 0 :(得分:3)
要进行替换,您可以尝试进行以下操作:
DT[, names(DT) := lapply(.SD, function(x) replace(x, x=="", NA))]
示例:
DT <- data.table(v1=c("a", "", "b", "c"), v2=c("b", "n", "i", ""), v3=c("", "", "r", "t"))
# v1 v2 v3
#1: a b
#2: n
#3: b i r
#4: c t
DT[, names(DT) := lapply(.SD, function(x) replace(x, x=="", NA))]
DT
# v1 v2 v3
#1: a b <NA>
#2: <NA> n <NA>
#3: b i r
#4: c <NA> t
答案 1 :(得分:1)
我们在谈论什么类型的变量?数字?字符? 公式化的问题更好,更容易给出更好的答案。
这可能会帮助:
DT[DT == ""] <- NA
不要那么努力。 R应该很有趣!