2013-03-04 22 views
6

Ich habe eine große Datenmatrix in R. bekommen ich das Paket verwenden 'R.matlab' die Daten zu konvertieren Daten in Matlab wie so:Wie R-Daten in eine Matlab Matrix

writeMat(con="...filepath", x=data) 

Ich habe keine Erfahrung mit Matlab so Bitte haben Sie Geduld mit mir:

Wenn ich die Daten in Matlab laden, heißt es, ich habe eine 1x1 Struktur.

Ich möchte das in eine Matrixform bekommen. Ich habe versucht:

data=struct2cell(x) 

aber das sieht nicht ganz richtig aus. Die Daten sind dezimalwertige Zahlen btw.

+2

Was in R Ihre Data-Matrix-Klasse ist? Ist es eine numerische Matrix oder ein Datenrahmen? Auch was meinst du "sieht nicht ganz richtig aus"? Was ist genau das Problem? – yuk

+0

Geben Sie bitte nach den Richtlinien für die Veröffentlichung eine kleine, reproduzierbare Stichprobe Ihrer Daten an, einschließlich Informationen über 'typeof'. –

Antwort

6

Es sieht aus wie Ihre data Variable in R ist ein Datenrahmen. Versuchen Sie es zuerst in eine Matrix zu konvertieren, bevor auf Matte Datei zu schreiben:

writeMat(con="...filepath", x=as.matrix(data)) 

Eine andere Möglichkeit, die Sie wollen kann, ist die Zellenanordnung konvertieren in MATLAB Matrix:

datanum = cell2mat(data'); 
+0

Danke, weil meine Daten ein data.frame waren. :) – bdeonovic

1

Wenn Sie mit Jupyter Notebook . Ich denke, was Sie tun müssen, ist zunächst R.matlab Bibliothek

install.packages(c('R.matlab'), repos='http://cran.us.r-project.org') 

Dann implementieren diese Bibliothek mit

library(R.matlab) 

Danach installieren, können Sie einen Datenrahmen haben in R sagen resi

#Save in Matlab v6 format with 'writeMat' 
writeMat("resi.mat", labpcexport = resi) 

Ich gehe jetzt zu Matlab und nenne es in diesem bestimmten Verzeichnis durch das Umwandeln der Struktur in Zelle und dann Zelle zu Matrix als

Ich hoffe, das hilft