Ich bin auf der Suche nach einer CVS-Datei, die eine Matrix enthält, wo jede Zeile/Spalte Kombination eine bestimmte Rate hat. Siehe Beispiel:So erstellen Sie Datenrahmen aus einer Matrix
Ich möchte die Informationen als Datenrahmen lesen, wo ich jeden Wert mit einem Zeilen/Spalten-Faktor assoziiert haben mit $Year
, $Age
, $Rate
. Siehe Beispiel:
Dank!
CS
Update: Vielen Dank für das Feedback, ich habe meine eigene Funktion geschrieben und scheint den Trick zu tun:
matrix2dataframe <- function(rowN,colN,Data) {
NRowRep = max(rowN)-min(rowN)
NColRep = max(colN)-min(colN)
tmp_Name = rep(as.character(Data[rowN[1],colN[1]]),times=NRowRep*NColRep)
tmp_Value = as.numeric(as.matrix(Data[rowN[2]:max(rowN),colN[2]:max(colN)]))
tmp_Age = rep(as.character(as.matrix(Data[rowN[2]:max(rowN),1])),times=NColRep)
tmp_DYear = mapply(rep,x=as.character(as.matrix(Data[rowN[1],2:max(colN)])),times=NRowRep)
tmp_DYear = as.character(tmp_DYear)
#list(Cancer = tmp_Name,Rate = tmp_Value,Age = tmp_Age,DYear = tmp_DYear)
data.frame(Cancer = tmp_Name,Rate = tmp_Value,Age = tmp_Age,DYear = tmp_DYear)
}
Bitte geben Beispieldaten und/oder ein Bild der Daten. – www
Sie können die Ausgabe von 'dput' für die beiden Beispiel data.frames anstelle von zwei Bildern angeben. Sehen Sie hier, wie Sie eine gute Frage stellen https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – mt1022
dies unterscheidet sich nicht wirklich von Ihrer anderen Frage https: // stackoverflow .com/questions/46019182/Import-Matrix-CSV-Daten-in-r-How-in-Daten konvertieren-in-Datenrahmen. Haben Sie sich einen der einführenden Handbücher angesehen, die dies abdecken? Wenn ja, können Sie zeigen, welchen Code Sie ausprobiert haben und wo Sie stecken bleiben. Danke – user20650