Ich bin ziemlich neu in R, also bitte verzeih mir. Ich weiß nicht einmal, wie ich diese Frage stellen soll ... Der Zweck dieser Frage ist herauszufinden, welche zwei oder drei Faktoren am meisten geteilt werden. Ich habe einen Datenrahmen wie folgt aus:Wie bekomme ich die Summe geteilt Werte aller zufällig ausgewählten zwei Spalten in einem Datenrahmen
mydata<-read.table(header=TRUE, text="
A B C D
peak_1 peak_1 0 0
peak_2 0 0 peak_2
0 0 peak_3 peak_3
peak_4 0 0 peak_4
peak_6 0 0 0
peak_7 0 peak_7 0
peak_8 peak_8 peak_8 peak_8")
A, B, C und D sind vier Faktoren. Hoffentlich kann diese Tabelle gut in Ihrem R. angezeigt werden. Ich möchte die Anzahl der gemeinsamen Wert (aber nicht 0) zwischen jeweils zwei Spalten herausfinden. Ich erwarte Ergebnisse werden wie folgt angezeigt:
myresuts<-read.table(header=TRUE, text = "
factor_1 factor_2 number_of_shared
A B 2
A C 2
A D 3
B C 1
B D 1
C D 2")
Für diese kleine Tabelle kann ich die Kreuzung manuell tun. Aber tatsächlich habe ich einen ziemlich großen Tisch mit mehr als 100 Spalten, um eine solche Berechnung durchzuführen. Ich frage mich, wie man eine Funktion schreibt, um dieses Problem zu lösen. Auch, wenn ich die Summe der gemeinsamen Werte in jeder drei Spalte herausfinden möchte (hoffentlich kann das auf die gleiche Weise gelöst werden).
Danke!
Gosh, Figur schließlich heraus, wie Code in meiner Frage stellen ... – Badgerliu