Jarek Statinowy

Jarek Statinowy Z zapałem do pracy

Temat: Generator permutacji (wyrazów)

Witam

Mam bazę gdzie w pierwszej kolumnie mam rok (od 2001 do 2017), w drugiej c częstotliwość (A,B,q1,q2,q3,q4) a trzecia to nazwy pozycji bilansu np (Aktywa trwałe, Materiał... zysk)

Kolumna 1 ma 17 elementów, B 6 elementów, C40 elementów. Czasem gdy nie ma wartości mam NA

chce stworzyć bazę wszystkich podzbiorów czyli 4800

która wygląda następująco:

2001 A Aktywa trwałe
2001 A Materiały
...
2002 B Aktywa trwałe
2002 B Materiały
---
2017 q4 zysk


setwd(...)
Baza<-read.csv2("Bazaa.csv")

#zlicza ile elementów w kolumnie
nrok=length(Baza[which(is.na(Baza[,1])==F),1]) #aby zliczano bez na
nczęstotliwość=length(Baza[which(Baza[,2]!=""),2]) # by zliczało niepuste
nBilans=length(Baza$Bilans)

N=nrok*nczęstotliwość*nBilans

wynik=data.frame(rep("1",120),"2","3","4")

for(licz in 1: N)
{
for(i in 1:nrok)
{
for(j in 1:nczęstotliwość)
{
for(k in 1 : nBilans)
{
wynik[licz,]=c(Baza[i,1], Baza[j,2])
}
}
}

#wiem, że coś jest nie tak to tylko taki pseudokod - jak naprawić lub może inne rozwianie zaproponujecie/


Proszę o wskazówki
W wyniku chciałbym "trzy kolumnową bazę ze wszystkimi możliwymi trójkami nazw z tych kolumnTen post został edytowany przez Autora dnia 15.03.18 o godzinie 14:37
Piotr Ocalewicz

Piotr Ocalewicz Statystyka, Analiza
Danych, Data Mining,
Raportowanie

Temat: Generator permutacji (wyrazów)

Funkcja expand.grid z pakietu base tworzy ramkę danych ze wszystkimi kombinacjami zmiennych.
expand.grid(year = seq(2001, 2004, 1), 
czest = c("q1", "q2", "A"),
pozycja = c("Aktywa","Pasywa"))
Jarek Statinowy

Jarek Statinowy Z zapałem do pracy

Temat: Generator permutacji (wyrazów)

Wielkie dzięki

Mam jeszcze jeden problem - mianowicie jedna z kolumn jest bardzo długa i zawiera nazwy produktów - nie chciał bym jej przepisywać w ten sposób
produkty = c("mleko","masło", "chleb")...


Mam zapisane te kolumny w csv w pliku baza ale gdy chce zrobić z tego zmienne program zamienia mi nazwy na liczby.

Być może mam pomroczność jasną ale wydawało mi się, że to nie jest trudne a tu taka niespodzianka.

Wiec może poradzisz jak z csv o kolumnach rok, często, pozycja, produkty (zawierającą nazwy) zrobić odpowiednie wektory które mogę wykorzystać w
expand.grid()

Następna dyskusja:

www.generator.pl




Wyślij zaproszenie do