我经常会收到一些被“不正确”分隔符污染的字段的数据,因此当它加载时它的结尾是这样的:
library(data.table)
a <- data.table(x = c("AA", "AB", "A"), y = c(2, 4, "C"), z = c(NA, NA, 6))
当我期待的是
b <- data.table(x = c("AA", "AB", "AC"), y = c(2, 4, 6))
请注意,在之后我经常会有很多列(在此示例中,我会在z
之后列出AA,AB ......)
这是我尝试过的,结果很明显:
a[3, .SD[, 2] := .SD[, 3], .SDcols = c("y", "z")]
# Error in `[.data.table`(a, 3, `:=`(.SD[, 2], .SD[, 3]), .SDcols = c("y", :
LHS of := isn't column names ('character') or positions ('integer' or 'numeric')
如果我已经a
,那么从a
转换为b
需要执行哪些操作?我真的不需要很多自动化来找到罪魁祸首,因为我可以很容易地找出这些案例。感谢