Bartosz Wasilewski

Bartosz Wasilewski Owner @
torerosolutions.pl

Temat: Iteracja for (problem z zapisem wektora)

Witam,

Mam zbiór 100 plików .csv, chciałbym dane w każdym z nich zapisać jako wektor. Używam pętelki for:

for ( in 1:100){
data_i <- read.csv(dane[i])
}

chciałbym każdy z plików po kolei zapisać jako data_1, data_2 ... data_100, ale powyższa pętla nie działa (najwidoczniej pętla nie czyta tego i w data_i jako zmiennej...) co powinienem zmienić?

Temat: Iteracja for (problem z zapisem wektora)

Trzeba użyć innej konstrukcji - assign.

Dla dwóch plików CSV o 2 kolumnach (numeryczna i tekstowa) i nazwach odpowiednio: csv1.csv i csv2.csv, znajdujących się w katalogu c:\temp wygląda to tak:

 > for (i in 1:2){
+ assign(paste("data_", i, sep=""), read.csv( paste("c:\\temp\\csv", i, ".csv", sep="") ))
+ }
> data_1
Kolumna.A Kolumna.B
1 1 a
2 2 a
3 3 a
4 4 a
5 5 b
6 6 b
7 7 b
8 8 c
9 9 c
10 10 c

> data_2
Kolumna.A Kolumna.B
1 10 x
2 20 x
3 30 x
4 40 y
5 50 y
6 60 y
7 70 y
8 80 z
9 90 z
10 100 z
Ten post został edytowany przez Autora dnia 22.05.13 o godzinie 00:00
Bartosz Wasilewski

Bartosz Wasilewski Owner @
torerosolutions.pl

Temat: Iteracja for (problem z zapisem wektora)

Dzięki za pomoc!
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Iteracja for (problem z zapisem wektora)

Bartosz W.:
Witam,

Mam zbiór 100 plików .csv, chciałbym dane w każdym z nich zapisać jako wektor. Używam pętelki for:

for ( in 1:100){
data_i <- read.csv(dane[i])
> }

chciałbym każdy z plików po kolei zapisać jako data_1, data_2 ... data_100, ale powyższa pętla nie działa (najwidoczniej pętla nie czyta tego i w data_i jako zmiennej...) co powinienem zmienić?

możesz też użyć list.files() i przeiterowac po uzyskanym obiekcie o ile katalogu znajdują się wyłącznie interesujące cię pliki :

wektor <- list.files()

początek pętli to : for( i in 1:100){
wektor[i] będzie nazwą i-tego pliku
a reszta była już podana, list.files() w powyższym skrypcie może się przydać, jeżeli nazwy plików nie będą zapisane w podobnych formatach
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Iteracja for (problem z zapisem wektora)


fn <- list.files() # można użyć parametru pattern aby wybrać pliki do wczytania
dane <- vector(mode="list", length=length(fn))
for(i in seq_along(fn)) dane[[i]] <- read.csv(fn[i])
Bartosz Wasilewski

Bartosz Wasilewski Owner @
torerosolutions.pl

Temat: Iteracja for (problem z zapisem wektora)

Dziękuję wszystkim za pomoc!



Wyślij zaproszenie do