。ここに私の解決策があります。
"TXT"ファイルをMacの空のテキストエディットドキュメントにコピーして貼り付け、file.txt
という名前で保存しました。 "TXT"ファイルに表示されている注文が必要です:
data <- unlist(read.table("file.txt", header=F, sep="\t", stringsAsFactors=F), use.names=F)
data
sample_names <- data[grep("sample", data), drop=T]
sample_names
## [1] "sample1" "sample2" "sample3"
color <- data[grep("color", data), drop=T]
color
## "color 12" "color 15" "color 34"
length <- data[grep("length", data), drop=T]
length #note missing term, and requires manual coding
## [1] "length 34" "length 20"
length <- c(length, NA)
length
## [1] "length 34" "length 20" NA
validity <- data[grep("validity", data), drop=T]
validity
## [1] "validity 90" "validity 120" "validity 79"
## Assemble into data.frame:
assembled_df <- rbind(color, length, validity)
colnames(assembled_df) <- sample_names #update column names
assembled_df
## sample1 sample2 sample3
## color "color 12" "color 15" "color 34"
## length "length 34" "length 20" NA
## validity "validity 90" "validity 120" "validity 79"
コードは一般化できない可能性があります。これは、実際のTXTファイルの外観の問題です。重要なのは、1)自分のデータを知っていること、(2)戦略を考え出していること、(3)それから解決策を学ぶことです。
あなたのデータの 'dput'を提供してください。 –
@DavidArenburg私はRオブジェクトを持っていません。私はRに読み込みたい.txtファイルしか持っていません。 – Yan
入手しました。試してみましょう 'ライブラリ(data.table); dcast(fread( "test.txt"、fill = TRUE)[!is.na(V2)]、sample1〜paste0( "sample_"、rowid(sample1))) 'おそらく。 –