質問の後に質問が殺到してすみません。検索に最善を尽くしていますが、非常に大規模なプログラムを作成するという骨の折れる作業があり、Rはまだ非常に新しいので、これまでに得たすべての迅速な支援に感謝します。
問題を実証するための偽の例
Gene <- c("A","B","C","A","B","C","A","B","C")
> IntensityValue <- c(1,10,20,3,NA,23,NA,NA,22)
> ProceedTest <- c(2,2,2,2,-1,2,-1,-1,2)
> ExampleData <- list(Gene=Gene, IntensityValue=IntensityValue, ProceedTest=ProceedTest)
> ExampleData <- as.data.frame(ExampleData)
> ExampleData
Gene IntensityValue ProceedTest
A 1 2
B 10 2
C 20 2
A 3 2
B NA -1
C 23 2
A NA -1
B NA -1
C 22 2
ProceedTestは、テストを続行する必要があるかどうかを示すスコアです。スコア2は、データが考慮されることを意味し、スコア-1は、テストがデータを考慮しないことを意味します。
遺伝子BにはNAが2回出現し、AにはNAが1回だけ出現することに気付くでしょう。遺伝子Bの場合、NAが2回出現することをRに認識してもらいたい。与えられた遺伝子(B)に対してNAが2回現れるときはいつでも、ゼロの値がNAを置き換え、後続の-1が2に変わります。RにAのNAを無視して、続行してテストを続行するようにします。値はそのままです。
変更されたデータは次のようになります。
Gene IntensityValue ProceedTest
A 1 2
B 10 2
C 20 2
A 3 2
B 0 2
C 23 2
A NA -1
B 0 2
C 22 2
これは不可能かもしれませんが、可能であれば、遺伝子のNAがない場合、ProceedTestの値は-1になります。
Final Dataset
Gene IntensityValue ProceedTest
A 1 2
B 10 2
C 20 -1
A 3 2
B 0 2
C 23 -1
A NA -1
B 0 2
C 22 -1
要約すれば。遺伝子AにはNAが1つしかないため、何も変わりません。遺伝子Bには2つのNA値があるため、すべて2を取得し、強度値の列でNAがゼロになります。遺伝子CはNAを含まないため、-1になります(強度値を変更することは実際には重要ではありません)。
これが明確であることを願っています。また、他の質問が少し簡単になったことも知っているので、この特定の質問がそれほど単純ではなく、自分で答えを見つけるためにさらに調査を行う必要があったことを願っています。
事前に助けてくれてありがとう、
ジョー