をCBINDするループ私はここで、[] R: merge unequal dataframes and replace missing rows with 0R:データフレームをマージし、これら
のような疑問を持っているが、この質問のためのデータである。この例では
df1 = data.frame(x=c('a', 'b', 'c', 'd', 'e'))
df2 = data.frame(x=c('a', 'b', 'c'),y = c(0,1,0))
df3 = data.frame(x=c('a', 'b', 'c', 'd'),y = c(1,1,1,0))
df4 = data.frame(x=c('b', 'a', 'e'),y = c(0,1,0))
zz <- merge(df1, df2, all = TRUE)
zz[is.na(zz)] <- 0
私はDF2とDF1合併しました。今、私はdf3とdf4をマージするループを作成し、df1を使ってさらに多くのデータフレームを作成したいと考えています。問題は、リストの結果が最終的なデータフレームを生成するためにcbindでなければならないことです。
誰でも手伝ってもらえますか?
ありがとうございます!
EDIT! これは私が作成したループです。変数gotermsは10個の変数を持つリストに反します。変数は、interestedGO内のリストの名前です。最初の関心のあるGOが選択され、計算の結果が可変結果になります。この結果はxとマージする必要があります。それはループなので、最終的なデータフレームを作成するには、10の結果すべてがcbindでなければなりません。
for (i in 1:length(goterms)){
goilmn<-as.data.frame(interestedGO[i])
resultILMN<-match(goilmn[,1], rownames(xx2),nomatch=0)
resultILMN[resultILMN] <- 1
result<-cbind(goilmn,resultILMN)
colnames(result) <- c('x','result')
zz<-merge(x, result, all=TRUE)
resultloop<-zz[is.na(zz)]<-0
standard[i]<-cbind(resultloop)
}
goterms:
[1] "GO:0009611" "GO:0007596" "GO:0050817" "GO:0061082" "GO:0007599"
[6] "GO:0050776" "GO:0006910" "GO:0034383" "GO:0019932" "GO:0002720"
interestedGO:
$`GO:0009611`
[1] "ILMN_1651346" "ILMN_1651354" "ILMN_1651599" "ILMN_1651950" "ILMN_1652287"
[6] "ILMN_1652445" "ILMN_1652693" "ILMN_1652825" "ILMN_1653324" "ILMN_1653395"
$`GO:0007596`
[1] "ILMN_1651599" "ILMN_1652693" "ILMN_1652825" "ILMN_1653324" "ILMN_1655595"
[6] "ILMN_1656057" "ILMN_1659077" "ILMN_1659923" "ILMN_1659947" "ILMN_1662619"
[11] "ILMN_1664565" "ILMN_1665132" "ILMN_1665859" "ILMN_1666175" "ILMN_1668052"
[16] "ILMN_1670229" "ILMN_1670305" "ILMN_1670490" "ILMN_1670708"
"ILMN_1671766"
$`GO:0050817`
[1] "ILMN_1651599" "ILMN_1652693" "ILMN_1652825" "ILMN_1653324" "ILMN_1655595"
[6] "ILMN_1656057" "ILMN_1659077" "ILMN_1659923" "ILMN_1659947" "ILMN_1662619"
[11] "ILMN_1664565" "ILMN_1665132" "ILMN_1665859" "ILMN_1666175" "ILMN_1668052"
[16] "ILMN_1670229" "ILMN_1670305" "ILMN_1670490" "ILMN_1670708" "ILMN_1671766"
[21] "ILMN_1671928" "ILMN_1675083" "ILMN_1678049" "ILMN_1678728"
"ILMN_1680805"
$`GO:0061082`
[1] "ILMN_1661695" "ILMN_1665132" "ILMN_1716446" "ILMN_1737314" "ILMN_1772387"
[6] "ILMN_1784863" "ILMN_1796094" "ILMN_1800317" "ILMN_1800512" "ILMN_1807074"
xは、すべてのILMNコードのリファレンスです。ここにx変数の先頭があります。 X [1:100、]
[1] ILMN_1343291 ILMN_1343295 ILMN_1651228 ILMN_1651229 ILMN_1651238
[6] ILMN_1651254 ILMN_1651259 ILMN_1651260 ILMN_1651262 ILMN_1651278
[11] ILMN_1651282 ILMN_1651285 ILMN_1651286 ILMN_1651303 ILMN_1651310
[16] ILMN_1651315 ILMN_1651330 ILMN_1651336 ILMN_1651343 ILMN_1651346
[21] ILMN_1651347 ILMN_1651354 ILMN_1651358 ILMN_1651370 ILMN_1651373
[26] ILMN_1651385 ILMN_1651396 ILMN_1651415 ILMN_1651428 ILMN_1651430
[31] ILMN_1651433 ILMN_1651437 ILMN_1651438 ILMN_1651456 ILMN_1651457
することによって、それらをCBIND。 'xx2'とは何ですか? – kohske