1
私はファイルを読み込んで個別に操作するときに問題はありません。R複数のファイルをインポートして複雑な機能を実行します
chrY<-read.table('chrY.txt', sep ='', header=F)
head(chrY)
V1
1 4.514563
2 4.543689
3 4.553398
4 4.533981
5 4.495146
6 4.514563
私は数値に値のそれぞれを変換する必要があります。
そして私は、染色体のファイルのリストのためにこれを試してください:数値へ
temp = list.files(pattern="chr*.txt")
for (i in 1:length(temp)) assign(temp[i], read.table(temp[i], sep ='', header=F))
> temp
[1] "chr17.txt" "chr18.txt"
[3] "chr19.txt" "chr1.txt"
[5] "chr6.txt" "chrY.txt"
変換:
for(i in temp){
temp[i]<-as.numeric(temp[i])
}
すべてのファイルの平均をプロットしてプロットしたい、
1インポートされたファイルをプロット結構です:次のようにそれらの全ての間の平均値をプロットで
plot(chrY.txt[,1])
私の試み:
for(i in length(temp)-1){ #index -1 such that iteration is not out of range
x<-(temp[i][,1]+temp[i+1][,1])/length(temp)
}
plot(x)
しかし平均-プロセスのために私は次のエラーを取得します:
Error in temp[i][, 1] : incorrect number of dimensions
Rでのforループよりも速い方法がありますか?これは練習走行であると私は潜在的に我々はlist
内のファイルを読み、mean
値を取得するためにlist
のlength
によって+
と除算でReduce
を使用することができます
あなたは 'length(temp)-1'を持っていて、単なる値です。' seq(length(temp)-1) 'が必要かもしれません。最後のコードの第2の問題は' temp'ですオブジェクト名の 'vector'は、(コードの最初のブロックで行ったように)それを読んでからsummartionを実行しなければなりません。 – akrun
ありがとう@akrunは 'seq()'をインクルードしましたが、同じエラー:あなたの指示の後半ではっきりすることができますか?私が見ることができる限り、最初のコードブロックは、2番目のブロックと同じ方法でベクターにアクセスしています... –
これを読む必要があります。read.table(temp [i]、sep = ''、header = F) ' – akrun