数据表移位列

时间:2017-03-08 17:31:58

标签: r data.table

我经常会收到一些被“不正确”分隔符污染的字段的数据,因此当它加载时它的结尾是这样的:

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需要执行哪些操作?我真的不需要很多自动化来找到罪魁祸首,因为我可以很容易地找出这些案例。感谢

0 个答案:

没有答案