2013-03-04 18 views
6

mam dużą macierz danych w R. użyłem pakiet 'R.matlab' do konwersji danych do matlab dane tak:Jak uzyskać dane do matrycy R Matlab

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

mam żadnego doświadczenia z Matlab tak proszę o cierpliwość przy mnie:

Kiedy ładuję dane do Matlab to mówi, że mam strukturę 1x1.

Chciałbym to zrobić w formie macierzy. Próbowałem:

data=struct2cell(x) 

ale to nie wygląda dobrze. Dane są liczbami dziesiętnymi z wartościami btw.

+2

Jaka jest twoja klasa macierzy danych w R? Czy jest to macierz numeryczna czy ramka danych? Co masz na myśli "nie wygląda dobrze"? Jaki jest dokładnie problem? – yuk

+0

Zgodnie z wytycznymi dotyczącymi publikowania proszę podać małą, powtarzalną próbkę danych, w tym informacje na temat 'typeof'. –

Odpowiedz

6

Wygląda na to, że zmienna data w R jest ramką danych. Spróbuj najpierw przekonwertować go do macierzy przed zapisaniem do pliku mat:

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

Innym sposobem może chcesz jest konwersja tablicy komórek do macierzy w programie MATLAB:

datanum = cell2mat(data'); 
+0

Dzięki, moje dane to data.frame. :) – bdeonovic

1

Jeśli używasz Jupyter notebooka . Myślę, że to, co trzeba zrobić, to najpierw zainstalować bibliotekę R.matlab użyciu

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

Następnie wdrożenie tej biblioteki przy użyciu

library(R.matlab) 

Potem możesz mieć dataframe w R powiedzieć resi

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

Teraz idę do Matlab i wywołuję go w tym konkretnym katalogu przez konwersję struktury do komórki, a następnie komórki do macierzy jako

resi=cell2mat(struct2cell(load('resi.mat'))) 

Mam nadzieję, że pomaga

Powiązane problemy