0

多くのファイルをRに読み込んで、それぞれの列14のデータを独自のヒストグラムに評価しようとしています。(列名を除いて)実際のデータにアクセスしようとするまではうまくいくようです。

コードはある程度機能しているようです:

    test<-sapply(1:Num.Files,function(x){readLines(File.names[x])})
    head(test)
    data<-read.table(header=TRUE,text=test[1])
    head(data)
    names(data)[14]<-'column14'
    names(data)
    data$column14

しかし、結果は次のとおりです。

test <-sapply(1:Num.Files、function(x){readLines(File.names [x])})#データヘッドを入力します(test)#ここで情報がすべて揃っていることがわかります[、1]
[ 1、] "Targ cov av_cov 87A_cvg 87Ag 87Agr 87Agr 87A_gra 87A%_1 87A%_3 87A%_5 87A%_10 87A%_20 87A%_30 87A%_40 \ t87A%_50 \ t87A%_75 \ t87A%_100" [2、] "1:028 400 \ t0.42 \ t400 \ t0.42 \ t1 \ t1 \ t2 \ t41.8 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 "
[3、]" 1:296 400 \ t0.42 \ t400 \ t0.42 \ t1 \ t1 \ t2 \ t41.8 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 "
[4、]" 1:453 1646 \ t8.11 \ t1646 \ t8.11 \ t7 \ t8 \ t13 \ t100.0 \ t100.0 \ t87.2 \ t32.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 \ t0.0 "
[5、]" 1 :427 1646 \ t8.11 \ t1646 \ t8.11 \ t7 \ t8 \ t13 \ t100.0 \ t100.0 \ t87.2 \ t32.0 \ t0.0 \ t0.0 \ t0.0\t0。 0 \ t0.0 \ t0.0 "
[6、] "1:736 5105 \ t29.68 \ t5105 \ t29.68 \ t14 \ t29 \ t48 \ t100.0 \ t100.0 \ t100.0 \ t86.0 \ t65.7 \ t49.4 \ t35.5 \ t16.9 \ t0.0 \ t0.0 "
data <-read.table(header = TRUE、text = test [1])head(data)#すべての正しい列名[1] Targ cov av_cov X87A_cvg X87Ag X87Agr X87Agr.1 [8] X87A_gra X87A._1 X87A._3 X87A._5 X87A._10 X87A._20 X87A._30 [15] X87A._40 X87A._50 X87A._75 X87A._100 <0行>(または0 -length row.names)names(data)[14] <-'column14' names(data)#column14は希望どおりに変更されます[1]"Targ" "cov" "av_cov" "X87A_cvg" "X87Ag" "X87Agr"
[7] "X87Agr.1" "X87A_gra" "X87A._1" "X87A._3" "X87A._5" "X87A._10" [13] "X87A._20" "column14""X87A._40""X87A。 _50 "" X87A._75 "" X87A._100 "data $ column14#ただし、logical(0)列には何もありません

read.tableを間違って使用していますか?誰か提案がありますか?

4

2 に答える 2

2

なぜビジネスread.tableの代わりに最初から使うのではないのreadLinesですか?試す:

test <- lapply(File.names, read.table, header=TRUE, sep='\t')`.  

また、変数testは行のベクトルです。最初の行はヘッダーです。test[1]の引数として最初の行のみを渡しますread.table(text=...)

使用read.table(text=test)する方がうまくいくはずです。lapplyただし、この余分なモンキーの代わりに、上記で書いた呼び出しにいくつかのバリエーションを使用する必要があります。

于 2012-08-14T19:31:01.373 に答える
0

text[1]はい、read.tableを誤って使用しています。ヘッダー行( )のみを渡しています。

read.tableファイル名を直接呼び出します。の結果を渡すことを主張する場合はreadLines、おそらく。のようなすべてのものに再参加する必要がありますpaste(test, collapse="\n")

于 2012-08-14T19:17:41.710 に答える