データフレーム内でいくつかの操作を実行する必要があります。少し具体的ですが、実行方法がわかりません。ので、私の問題は、私はこの1つのデータフレームを作成する必要があるということですが、私はデータ$ PVALに応じて連続した行を結合する必要があり、データフレーム内の連続する行の選択... r
x<-seq(1:250)
pos<-seq(1000,1249,1)
pval<-c(rep(0.25,40),rep(0.0001,10),rep(0.14,100),rep(0.0005,20),rep(0.58,10),rep(0.00001,20),rep(0.85,50))
len<-rep(0.1,250)
nsnp<-rep(33.7,250)
data<-data.frame(cbind(x,pos,pval,len,nsnp))
まあ:ここではいくつかのデータです。すなわち、データ$ xでソートすると、データ$ pval < = 0.05を持つすべての連続する要素に参加する必要があります。そして、実行:0.05
- 平均を合計データ$ PVAL < =を持つすべての連続したデータ$ nsnp 0.05
よりも、私たちのデータフレーム(データ)で連続したデータ$ xに番号の3つの領域があるので、最終的なデータベースは次のようになります必要があります。
pos len nsnp
[1,] 1044.5 1 337
[2,] 1159.5 2 674
[3,] 1189.5 2 674
この数字は次のように求めることができる。
data2<-subset(data,data$pval<=0.05)
mean(data2$pos[data2$pos>=1040 & data2$pos<=1049])
sum(data2$len[data2$pos>=1040 & data2$pos<=1049])
sum(data2$nsnp[data2$pos>=1040 & data2$pos<=1049])
mean(data2$pos[data2$pos>=1150 & data2$pos<=1169])
sum(data2$len[data2$pos>=1150 & data2$pos<=1169])
sum(data2$nsnp[data2$pos>=1150 & data2$pos<=1169])
mean(data2$pos[data2$pos>=1180 & data2$pos<=1199])
sum(data2$len[data2$pos>=1180 & data2$pos<=1199])
sum(data2$nsnp[data2$pos>=1180 & data2$pos<=1199])
私は私の問題が理解されている今、願っています。私の問題は、データ$ xに従って連続する行を選択する方法が見つからないということです。私の例では、これらの連続した行は:pos 1040-1049、pos 1150-1169およびpos 1180-1199です。
ハイセブ。何を試しましたか? – Vincent
最初の部分については、データ$ pvalに従ったサブセットです。しかし、私は連続する行の操作を開始する方法を知っていません。ありがとうございました – Cebs
また、私はなぜ私の質問downvote理解していません...例と完璧な正当な質問は、私はよく説明されていると信じて、誰かが私に理由を説明してください... – Cebs