[R] Powtarzanie (rep)

Hodor
Użytkownik
Użytkownik
Posty: 32
Rejestracja: 11 cze 2015, o 11:46
Płeć: Mężczyzna
Lokalizacja: Rzeszów
Podziękował: 21 razy

[R] Powtarzanie (rep)

Post autor: Hodor »

Witam

Mam taki problem

mam tabele

Kod: Zaznacz cały

DANE
celowa	301040	5
Losowa	301040	8
celowa	301060	8
celowa 	301060	8
celowa  301060	5
celowa	301060	5
Losowa	301080	5
Losowa 	301080	8
celowa	301080	10
celowa	301080	5
celowa	301080	5
celowa	301080	5
celowa	301080	5
i drugą

Kod: Zaznacz cały

LICZEBNOSC
301040	123
301060	987
301080	856
chce wypełnić taki wiersze
dla [i=1 filtruje DANE by mieć rekordy rożne od 301040( 2 kolumna)

Cały wiersz będzie miał 11 elementów (tyle jest po filtrowaniu
wierszy) przy czym 4 mają więc wartość 4/987 a siedem wartość
7/856
dla i=2 filtruje DANE by mieć rekordy rożne od 301060
Cały wiersz będzie miał 9 elementów (tyle jest po filtrowaniu
wierszy) przy czym 2 mają więc wartość 2/123 a siedem wartość
7/856
analogicznie dla i=3

Generalnie ten szukany wiersz ma się składać z n- elementów (n
liczba wierszy w DANE po sortowaniu) a wartości powinny być takie
m-elementów o wartości (ilość m/ Liczebność (dla m)) (itd. )

Niestety z góry nie wiem ile będzie grup (301040, 301060,301080)
Może być ich więcej.

Mam nadzieję, że udało mi się przekazać sens - jeśli nie to
postaram się wyjaśnić.


Z góry dzięki za pomoc
Nadmienię, że zrobiłem sobie takie coś

Kod: Zaznacz cały

tab1 <- as.data.frame(table(DANE$NRkasy ))

dzięki czemu wiem, że mam
301040 2 rekordy
301060 4 rekordy
301080 7 rekordów
więc wiem jaka liczba ma być w liczniku i ile razy ją powtarzać

Nie wiem natomiast jak powiązać to z tabelą LICZEBNOSC
(mianownik) i jak to zapisać by wpisywało poprawnie dla
poszczególnych i.

[tak to widzę]

Kod: Zaznacz cały

wektor=rep(ilość(301060)/LICZEBNOSC(301060),ilość(301060)) 	
rep(ilość(301080)/LICZEBNOSC(301080),ilość(301080))
jeden
wektor tak uzupełniony dla i=1 (z pominięciem 301040)

dla i=2 podobnie z tym, że pomijamy 301060
dla i=3 pomijamy 301080
dla i=4 (gdyby było pomijalibyśmy np. 4525525)
Ostatnio zmieniony 15 mar 2016, o 19:21 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ODPOWIEDZ