5

\t&%$#Rにインポートしようとしている各フィールドが区切られた「csv」テキストファイルがあります。

sep=引数はread.table()、1 つの文字を主張します。このファイルを直接インポートする簡単な方法はありますか?

一部のデータ フィールドは、ユーザーが送信したテキストであり、タブ、引用符、およびその他の厄介なものが含まれているため、区切り記号をより単純なものに変更すると、別の問題が発生する可能性があるようです。

4

2 に答える 2

6

次のコードは、複数の区切り文字を処理できます。

#fileName <- file name with fully qualified path
#separators <- each of them separated by '|'

read <- function(fileName, separators) {
    data <- readLines(con <- file(fileName))
    close(con)
    records <- sapply(data, strsplit, split=separators)
    dataFrame <- data.frame(t(sapply(records,c)))
    rownames(dataFrame) <- 1: nrow(dataFrame)
    return(as.data.frame(dataFrame,stringsAsFactors = FALSE))
}
于 2014-10-03T18:10:58.657 に答える
2

この投稿で説明されているように、R では文字列の解析に頼らないと不可能です。別の言語 (Awk、Perl、Python など) でファイルを事前解析するか、行ごとに読み取り、結果の文字列を R で解析することができます。

于 2013-08-12T15:05:44.183 に答える