次のように、いくつかのブール値(1/0)を持つデータフレームがあります(これをスマートテーブルにする方法がわかりませんでした)
Flag1.Sam Flag2.Sam Flag3.Sam Flag1.Ted Flag2.Ted Flag3.Ted
probe1 0 1 0 1 0 0
probe2 0 0 0 0 0 0
probe3 1 0 0 0 0 0
probe4 0 0 0 0 0 0
probe5 1 1 0 1 0 0
ファイルと呼ばれるリストにある64個のサンプル(サム/テッド....など)があります。
files <- c("Sam", "Ted", "Ann", ....)
そして、各サンプルのフラグ値を合計して以下を作成する列を作成したいと思います。
Sam Ted
probe1.flagsum 1 1
probe2.flagsum 0 0
probe3.flagsum 1 0
probe4.flagsum 0 0
probe5.flagsum 2 1
私はRにかなり慣れていないので、知る必要があることに基づいて学習しようとしていますが、次のことを試しました:
for(i in files) {
FLAGS$i <- cbind(sapply(i, function(y) {
#greping columns to filter for one sample
filter1 <- grep(names(filters), pattern=y)
#print out the summed values for those columns
FLAGS$y <-rowSums(filters[,(filter1)])
}
}
上記のコードは機能せず、先に進む方法が少しわかりません。
この問題を解決したり、使用するコマンド/ツールの正しい方向を教えてくれる人はいますか?
ありがとうございました。