2016-11-21 9 views
1
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です。R内のdata.tableの列値を別の列の値に基づいて更新する

私は上記の列の連結値1と0の結果として、値 "0101 ..."を持つ1つの列 "応答"(文字型)を作成しようとしました。

この手順の後、私はRスタジオの異常な振る舞いを見るには、訓練するためにアクセスすることができないなど

たぶん間違って何か?

+0

この時点では意味がありません(data.tablesは自然に "$"演算子を使用しないため)。 'train'がdata.tableの場合は、あなたの質問と同じようなオブジェクトを作成するサンプルを作成するために質問を編集する必要があります。 –

答えて

1

私たちは、「応答」列を作成する(:=)、.SDcolspasteに列を指定しData.table(.SD)のサブセットにdo.callpaste0を使用して、割り当てることができます。

train[, Response := do.call(paste0, .SD), .SDcols = 15:20] 
関連する問題