cSplit を使用して、列を 3 つの個別の列に分割しています。区切り文字は「 / 」
ただし、私のフィールドの 1 つに「/」セパレーターが埋め込まれています。3 行目の 3 番目の要素は、分割後も "f/j" のままであるはずでした。
次の例で試してみると、余分な (4 番目の) 列が作成されます
name <- c("abc / efg / hij", "abc / abc / hij", "efg / efg / f/j", "abd / efj / hij")
y <- c(1,1.2,3.4, 5)
dt <- data.frame(name,y)
dt
dt <- cSplit(dt,"name","/", drop=FALSE)
dt
5,000 行を超える元のデータ セットで試してみると、次のエラーが発生します。
fread のエラー (x、sep[i]、ヘッダー = FALSE):
3 列が必要ですが、行 2307 にはすべての列を処理した後のテキストが含まれています。fill=TRUE で再試行してください。別の理由として、sep='/' および/または '\n' 文字がアンバランスでエスケープされていない引用符内に埋め込まれている 1 つ以上のフィールドを区別する fread のロジックが失敗したことが考えられます。quote='' が役に立たない場合は、問題を報告して、ロジックを改善できるかどうかを確認してください。