library(data.table)
train <- fread(input = "../train.csv", header = TRUE, sep = ",",
stringsAsFactors = FALSE, data.table = TRUE)
train$Response <- "" #create new column with values ""
train$Response <- paste(train[, 15:20, with = FALSE], collapse = "")
RStudio console:
> is.data.frame(train)
[1] TRUE
> is.data.table(train)
[1] TRUE
索引从15到20的列的值为int类型的1或0。
我已尝试将值“0101 ...”的一列“响应”(字符类型)作为上述列的串联值1和0的结果。
在此程序之后我看到R studio的异常行为,无法进入火车等。
可能有问题?
答案 0 :(得分:1)
我们可以在paste
中指定.SDcols
的列,在Data.table(paste0
)的子集上使用do.call
和.SD
,并分配(:=
)创建“响应”#39;列。
train[, Response := do.call(paste0, .SD), .SDcols = 15:20]