Statystyka, prognozowanie, ekonometria, data mining Strona Główna
Reklama pqstat.pl
Statystyka, prognozowanie, ekonometria, data mining
Forum miłośników statystyki - Portal Statystyczny

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  Chat   Regulamin  Kadra forum
PORTAL STATYSTYCZNY
 Ogłoszenie 
FORUM STATYSTYCZNE MA JUŻ 10 LAT

Znasz statystykę lub ekonometrię, metody prognozowania, data mining i chcesz pomóc w rozwoju forum statystycznego ?
Pisz na: administrator(małpa)statystycy.pl

Rozpoczął swoją działalność portal statystyczny - masz pomysł na jego rozwój ?

Drogi forumowiczu! Zanim napiszesz posta zapoznaj się z regulaminem forum i przedstaw się
The International Year of Statistics (Statistics2013) Smarter Poland Portal statystyczny

Poprzedni temat «» Następny temat

Tagi tematu: pod, tabeli, warunkiem, wypelnienie

Wypełnienie tabeli pod warunkiem
Autor Wiadomość
statnowy 
Starszy Szeregowy


Posty: 29
Skąd: Rzeszów
Wysłany: 2017-01-16, 09:20   Wypełnienie tabeli pod warunkiem

Cześć

Mam długą ankietę i zrobiłem bazę każde pytanie osobna kolumna, w wierszach kolejne ankiety
w pytaniu 1 znajduje się pytanie czy respondent miał wycieczkę z organizatorem (przejazd) (1=tak,2=nie)
w pytaniu 2 znajduje się pytanie jaki cell (1=osobisty 2=zawodowy)
w pytaniu 3 znajduje się pytanie :sposób podroży (1=pieszo, 2 coś na benzynę, 3 kolej, samolot, 4 inne) - zawsze tylko jedna odpowiedz ma być - nie zwracajcie uwagi na małą realność tego pytania

Część respondentów wpisała tylko sumę ogólną wydatków pole 4, a część rozbiła na 4a-4d
Jeśli w pyt1 była odpowiedz 2 to 4a(wydatki na organizatora przejazd)=0
ale w innych podkategoriach może coś być (tj. od 4b-4d)

wymyśliłem, że dla każdej kombinacji (pyt 1, pyt2, pyt3) zrobię strukturę wydatków a następnie uzupełnię dane przemnażając wydatki zadeklarowane ogółem przez tą strukturę (o ile były same zera w 4a-4d)

Kod:
tabela dane ma takie kolumny pyt1,pyt2,pyt3, wydatki ogółem, 4a,4b,4c,4d

dane10P=subset(dane, 4a+4b+4c+4d>0, ) #zawężenie do tych choć trochę wypełnionych

Tab_przest1=aggregate(list(dane10P[,5],dane10P[,6],dane10P[,7],dane10P[,8],dane10P[,4]),list(dane10P[,1],dane10P[,2],dane10P[,3]), FUN=sum, na.rm=TRUE) # tabela przestawna sumy wydatków w zależności od odpowiedzi

Tab_przestP=cbind(Tab_przest1,0,0,0,0) # dodanie miejsce na strukturę
Tab_przestP[,9:12]=Tab_przestP[,4:7]/Tab_przestP[,8] #obliczenie struktury wydatków dla każdej z kategorii

for(i in 1:2)# pyt 1
{
  for(j in 1:2)#pyt 2
  {
    for(k in 1:4)#pyt 3
    {baza_idx=which(dane[,1]==i & dane[,2]==j & dane[,3]==k & dane$4a+dane$d4b+dane$4c+dane$4d==0)
   
     dane[baza_idx,5]=dane[baza_idx,4]*Tab_przestP[Tab_przestP[,1]==i & Tab_przestP[,2]==j & Tab_przestP[,3]==k,9]
     baza1[baza_idx,6]=dane[baza_idx,222]*Tab_przestP[Tab_przestP[,1]==i & Tab_przestP[,2]==j & Tab_przestP[,3]==k,10]
     baza1[baza_idx,7]=dane[baza_idx,222]*Tab_przestP[Tab_przestP[,1]==i & Tab_przestP[,2]==j & Tab_przestP[,3]==k,11]
     baza1[baza_idx,8]=dane[baza_idx,222]*Tab_przestP[Tab_przestP[,1]==i & Tab_przestP[,2]==j & Tab_przestP[,3]==k,12]
     }
  }
}


z tym, że coś nie gra ;/
Kod:
Error in `[<-.data.frame`(`*tmp*`, baza_idx, 5, value = numeric(0)) :
  replacement has length zero


Nie wiem co może być nie tak
--------------------------------------------

Inne rozwiązanie wykonuje mi się kilkanaście godzin choć wiem, że działa
Kod:

dane<-read.csv2("testimp.csv")

dane10P=subset(dane, dane[,5]+dane[,6]+dane[,7]+dane[,8]>0, )

Tab_przest1=aggregate(list(dane10P[,5],dane10P[,6],dane10P[,7],dane10P[,8],dane10P[,4]), list(dane10P[,1],dane10P[,2],dane10P[,3]), FUN=sum, na.rm=TRUE)
colnames(Tab_przest1)=c("pyt1","pyt2","pyt3","4a","4b","4c","4d","ogolem")


Tab_przestP=cbind(Tab_przest1,0,0,0,0)
Tab_przestP[,9:12]=Tab_przestP[,4:7]/Tab_przestP[,8]
colnames(Tab_przestP)=c("pyt1","pyt2","pyt3","4a","4b","4c","4d","ogolem","p4a","p4b","p4c","p4d")

daneniewyp=subset(dane, dane[,5]+dane[,6]+dane[,7]+dane[,8]==0 & dane[,4]>0, )

for(i in 1:2)# pyt 1
{
  for(j in 1:2)# pyt2
  {
    for(k in 1:4)#pyt3
    {
      for(m in 1:length(daneniewyp[,1]))
      {if(daneniewyp[m,1]==i& daneniewyp[m,2]==j& daneniewyp[m,3]==k )
        {
        for(g in 1:length(Tab_przestP[,1]))
          {if(Tab_przestP[g,1]==i& Tab_przestP[g,2]==j&Tab_przestP[g,3]==k )
            {daneniewyp[m,5]<-Tab_przestP[g,9]*daneniewyp[m,4]
             daneniewyp[m,6]<-Tab_przestP[g,10]*daneniewyp[m,4]
             daneniewyp[m,7]<-Tab_przestP[g,11]*daneniewyp[m,4]
             daneniewyp[m,8]<-Tab_przestP[g,12]*daneniewyp[m,4]
            }
          }
        }
      }
    }
  }
}

for(o in 1:length(dane[,1]))
{for(p in 1:length(daneniewyp[,1]))
  if(dane[o,5]+dane[o,6]+dane[o,7]+dane[o,8]==0 & dane[o,4]==daneniewyp[p,4]& dane[o,1]==daneniewyp[p,1]& dane[o,2]==daneniewyp[p,2]&dane[o,3]==daneniewyp[p,3])
  {
    dane[o,5]=daneniewyp[p,5]
    dane[o,6]=daneniewyp[p,6]
    dane[o,7]=daneniewyp[p,7]
    dane[o,8]=daneniewyp[p,8]
  }
}
_________________
Język R jest cool
 
     
Google

Wysłany:    Reklama google.

 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych zakładek(IE)
Wersja do druku

Skocz do:  

Podobne Tematy
Temat Autor Forum Odpowiedzi Ostatni post
Brak nowych postów Wypełnienie wiersza
statnowy Biblioteki R, Pakiety R 3 2016-03-17, 15:07
statnowy
Brak nowych postów prośba o wypełnienie ankiety do pracy licencjackiej :)
Liliana Statystyka w badaniach sondażowych rynku 1 2008-11-11, 01:07
mathkit
Brak nowych postów Prośba o wypełnienie ankiety do pracy magisterskiej
badającej preferencje odnośnie kont bankowych w Polsce
svnsn Statystyka w badaniach sondażowych rynku 0 2011-12-15, 21:18
svnsn
Brak nowych postów Usuwanie kolumn w SAS z warunkiem
milrom Data Mining, Metody klasyfikacji 2 2009-08-11, 14:30
macleanek
Brak nowych postów Gęstość prawdopodobieństwa z rozkładu i z tabeli - różnica?
Radon222 Teoria i rachunek prawdopodobieństwa 2 2015-08-28, 06:11
Radon222

Ideą przyświecającą istnieniu forum statystycznego jest stworzenie możliwości wymiany informacji, poglądów i doświadczeń osób związanych ze statystyką, mierzenie się z różnego rodzaju problemami statystycznymi i aktuarialnymi. Poruszane problemy: Statystyka w badaniach sondażowych rynku, metody reprezentacyjne, Teoria i rachunek prawdopodobieństwa, statystyka opisowa, teoria estymacji, testowanie hipotez statystycznych, ekonometria, prognozowanie, metody data mining.
Copyright (C) 2006-2015 Statystycy.pl
Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,13 sekundy. Zapytań do SQL: 12