Reklama: Prowadzisz biznes ? Nowi klienci każdego dnia , SPRAWDŹ JAK
Michał Bojanowski

offline

Michał Bojanowski

socjolog, analityk

Wypowiedzi

  • Michał Bojanowski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    15.05.2012, 15:13

    OK, sorry :) A wszystkie dane masz w jednym data.frame-ie? Ponizej przyklad ze sztucznymi danymi.

    set.seed(1234)
    d <- data.frame(X=sample(0:1, 100, replace=TRUE), cvd=sample(0:1, 100, replace=TRUE))
    # X = oznacza grupe pacjentow, z X lub bez
    # cvd = czy jest obecny CVD

    head(d)
    # X cvd
    # 1 0 0
    # 2 1 1
    # 3 1 0
    # 4 1 0
    # 5 1 0
    # 6 1 0

    # rozklad liczebnosci
    tab <- table(d$X, d$cvd)
    tab
    # 0 1
    # 0 25 30
    # 1 23 22

    chisq.test(tab)
    #
    # Pearson's Chi-squared test with Yates' continuity correction
    #
    # data: tab
    # X-squared = 0.1311, df = 1, p-value = 0.7173



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    15.05.2012, 14:23

    dane to Chiq.test musisz podac jako tabele: rozklad liczebnosci dwoch lub wiecej cech.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie prop.test, chi2, t.test
    15.05.2012, 13:59

    Z helpa prop.test:

    ## Data from Fleiss (1981), p. 139.
    ## H0: The null hypothesis is that the four populations from which
    ## the patients were drawn have the same true proportion of smokers.
    ## A: The alternative is that this proportion is different in at
    ## least one of the populations.
    smokers <- c( 83, 90, 129, 70 )
    patients <- c( 86, 93, 136, 82 )
    prop.test(smokers, patients)


    wiec w twoim przypadku, jezeli np. w pierwszej grupie (z X) jest 45 mezczyzn a w drugiej (bez X) 70 to test policzyc mozna tak:

    prop.test( c(45, 70), c(101, 159))


    Pierwszy argument to wektor liczebnosci "sukcesów", drugi argument to liczebnosc grup (lub liczba prób w sensie rozkladu dwumianowego).Michał Bojanowski edytował(a) ten post dnia 15.05.12 o godzinie 14:00



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie W jaki sposób zapisać i wczytać listę ?
    25.04.2012, 14:45

    zmudna i brudna robota, no własnie w to nie chcialem sie bawic. :) a co jezeli komponenty listy mają nazwy? poza tym, sink lamie wiersze uzywając getOptions("width") wiec jezeli komponenty listy są na tyle długie, ze wektory sa drukowane w wiecej niz jednym wierszu, to tez trzeba to uwzglednic....

    Adrianie, Kamilu, nie podążajcie tą drogą ;)



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie W jaki sposób zapisać i wczytać listę ?
    25.04.2012, 13:06

    jak rozumiem chodzi o to, zeby zapisac i wczytac do/z pliku tekstowego. zapisac/wczytac do/z pliku binarnego mozna save i load.

    do pliku tekstowego mozna zapisac na przykład funkcją 'dput' a potem wczytac 'dget'. na pewno nie bawil bym sie w pisanie parsera do eRowego outputu.....

    jezeli komponentami listy sa tylko wektory liczb to mozna tez zapisac kazdy komponent jako wiersz cyfr oddzielonych spacjami (nawet 'cat' do tego wystarczy), a potem wczytac 'readLines' i pociąć wartości 'strsplit'.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Czy da się to zrobić wektorowo :
    8.03.2012, 00:02

    CBDU



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Czy da się to zrobić wektorowo :
    7.03.2012, 00:17

    Nie ma to jak dobra intuicja... ;)



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Czy da się to zrobić wektorowo :
    6.03.2012, 19:08

    Szczerze mówiąc mimo długiego opisu nie rozumiem co chcesz osiągnąć...

    Przyjmimy, że d1 i d2 to


    d1 <- data.frame(x=1:5, a1=5:1, a2=c(1,2,3,5,4))
    d2 <- data.frame(y=1:5, a1=c(3,4,5,2,1), a2=c(5,4,2,3,1))
    d1
    x a1 a2
    1 1 5 1
    2 2 4 2
    3 3 3 3
    4 4 2 5
    5 5 1 4
    d2
    y a1 a2
    1 1 3 5
    2 2 4 4
    3 3 5 2
    4 4 2 3
    5 5 1 1


    I co dalej? 'z' ma być wektorem o długości 5? Jak by wyglądał w tym przypadku?



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Pytanie odnośnie '...'
    31.01.2012, 15:42

    Dodałbym jeszcze trzeci problem: automatyczne rozwiązanie się słabo sprawdzi jeżeli ... przekazuje argumenty do funkcji, dajmy na to f(), która z kolei je przekazuje do g(), potem do h() itd. Takich poziomów może być kilka i trudno będzie "zakodować" listę wszystkich możliwych argumentów wobec których wynik match.call będzie można match-ować.

    Czwarty problem, związany z powyższym to przekazywanie argumentów przez funkcje generyczne różnym metodom. Przykładowo, argumenty akceptowane przez plot() w ramach ... będą różne w zależności od tego jakim obiektem jest 'x' w wywołaniu plot. Klasa tego obiektu determinuje czy ... zostanie przekazane do plot.default, plot.data.frame, plot.table, plot.function etc....

    Wniosek: automatyczna metoda przydaje sie wtedy, gdy masz pełną kontrolę nad tym co się z tymi argumentami dzieje później.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Pytanie odnośnie '...'
    31.01.2012, 11:03

    Jest kilka możliwości, użyteczność każdej zależy ile argumentów przekazujesz. Ponieważ plot i lm akceptują bardzo dużo dodatkowych argumentów przez ... więc, gdybym miał to robić, to bym zrobił tak za pomocą 'do.call':


    f <- function(x, plot.args=NULL, lm.args=NULL)
    {
    model <- do.call("lm", c( list(x=x), lm.args))
    do.call("plot", c(list(x=model$res), plot.args))
    }


    plot.args i lm.args powinny być listami z argumentami do przekazania do, odpowiednio, plot i lm. Na przykład:

    f( x, lm.args=list(model=FALSE), plot.args=list(type="l") )

    itd itp etc

    EDIT: zle byly nawiasy w funkcji f...Michał Bojanowski edytował(a) ten post dnia 31.01.12 o godzinie 15:03



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Porządkowanie liniowe
    3.01.2012, 01:12

    To jest nowe pytanie. Bardzo proszę, żebyś założyła nowy wątek. Potem skasuje ten post.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Wizualizacja tabel
    15.12.2011, 22:16

    Jesteś idealnym grupowiczem: zadajesz pytanie, poczym sam na nie odpowiadasz. Oby więcej takich ;)



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Sweave - problem
    13.12.2011, 13:04

    Polecenie library("pakiet"), bez żadnych dodatkowych argumentów kolejno przeszukuje biblioteki wymienione przez .libPaths() w poszukiwaniu "pakiet"-u. Domyślna ścieżka to pierwsza wartość w wektorze zwracanym przez .libPaths(). Jeżeli więc chcesz dodać ścieżki do "niestandardowych" bibliotek wystarczy na początku pliku Rnw dodać

    .libPaths(c("sciezka1", "sciezka2")) # etc.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Sweave - problem
    13.12.2011, 09:56

    Poza tym kilka usterek w kodzie:

    (1)

    <<echo=false>>=
    zamiast
    <<echo=false>>==

    (2)

    setwd("../_zbiory_")
    zamiast
    setwd(".../_zbiory_")



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Sweave - problem
    13.12.2011, 09:53

    Spróbuj w pliku Sweave na początku globalnie ustawić ścieżki do wszystkich potrzebnych bibliotek za pomocą .libPaths(). Wydaje mi się, że jeden z pakietów, który explicite ładujesz za pomocą library() zależy od pakietu 'corpcor', który jest zainstalowany w lokalizacji, która jest widoczna dla R (RStudio?), ale nie jest widoczna, gdy uruchamiasz Sweave()



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Jak zmienić tempdir ? zmieniłem wartości zmiennych TEMP,...
    2.12.2011, 17:15

    Kamil Bęczyński:
    nie rozumiem tego wyniku, odpaliłem wczytywanie dużego pliku i w dalszym ciągu rósł plik tymczasowy na dysku C

    ps.
    http://www.stat.columbia.edu/~tzheng/tianblog/2007/11/...


    Chyba musisz trochę więcej napisać co chcesz zrobić.
    Ja w każdym razie nie rozumiem na czym polega problem.Michał Bojanowski edytował(a) ten post dnia 02.12.11 o godzinie 17:16



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Jak zmienić tempdir ? zmieniłem wartości zmiennych TEMP,...
    2.12.2011, 17:08

    którego wyniku? wszystko działa jak powinno



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Jak zmienić tempdir ? zmieniłem wartości zmiennych TEMP,...
    2.12.2011, 15:56

    Sprawdź czy R widzi odpowiednie wartości TEMPDIR, TMP, TEMP (R je sprawdza w tej wlasnie kolejnosci)

    Sys.getenv("TEMPDIR")
    Sys.getenv("TMP")
    Sys.getenv("TEMP")

    Inna sprawa, to że jeżeli chcesz tworzyć pliki tymczasowe w innym miejscu, to jest argument 'tmpdir' do funkcji 'tempfile'.



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Pakiet do R związany z giełdą
    22.11.2011, 16:21

    https://www.rmetrics.org/



    Zgłoś | Cytuj

  • Michał Bojanowski
    Wpis na grupie R w temacie Pytanie odnośnie interaktywnych wykresów
    16.11.2011, 09:38

    Zawsze możesz zrobić długi (tj. szeroki) wykres do np. PDF-a i przewijać sobie w Acrobacie... ;)



    Zgłoś | Cytuj

Wyślij zaproszenie do