2017-10-14 4 views
1

몇 주 전에 R을 시작했습니다. 성기 행을 열로 변환하는 데 문제가 있습니다 (이것이 올바른 R 용어일까요?). DPLYR "변환"기능을 무효화 하시겠습니까?

hours1 Male Female count 

는 기본적으로 열 대신 행에 전체 남성/여성을 변형의 :

> brfss %>% 
    +  filter(hours1 >=1,hours1 <=24) %>% 
    +  group_by(hours1, gender) %>% 
    +  summarise(count = n()) 
    # A tibble: 48 x 3 
    # Groups: hours1 [?] 
     hours1 gender count 
      <int> <fctr> <int> 
    1  1 Male 96 
    2  1 Female 132 
    3  2 Male 464 
    4  2 Female 612 
    5  3 Male 1433 
    6  3 Female 2063 
    7  4 Male 5749 
    8  4 Female 8512 
    9  5 Male 13231 
    10  5 Female 20205 

    # ... with 38 more rows 

나는대로 열을 표시합니다. 누군가 포인터를 줄 수 있습니까? 감사.

+1

[R : 3 개의 변수가 포함되어있는 동안 피벗 테이블과 유사한 데이터 프레임을 만드는 방법?] (https://stackoverflow.com/questions/11597542/r-how-to-create-pivot- table-like-data-frame-while-3-variables-related-related) – Psidom

+0

^^ 귀하의 질문에 답변 해 주십니까? – hrbrmstr

+0

답장을 보내 주셔서 감사합니다. 저는 이미 그 게시물을 확인했습니다. 실제로는 값의 평균을 얻는 것과 관련이 없습니다. (나는 아마도 그것을 변환/요약 할 것입니다.) 전체 성별을 행마다 변환하는 것입니다. 그러나 Dcast에서 google을 reshape2 – junhao82

답변

1

당신은이 같은 시도 할 수 있습니다 :

library(dplyr) 
library(tidyr) 
library(magrittr) 

brfss2013 %>% 
    select(hours1 = sleptim1, gender = sex) %>% 
    na.omit() %>% 
    group_by(hours1, gender) %>% 
    summarize(count = n()) %>% 
    spread(key = gender, value = count) 
+0

안녕하세요, 감사합니다, 두 번째 내가 달성하려고하는 것입니다. 방금 깔끔한 패키지를 설치했습니다. %% spread (key = gender, value = count) 오류 : 기능을 찾을 수 없습니다. 또한 count = n()을 my에 포함 시켰습니다. 이전 코드, 여기의 계산은 어떻게 계산합니까? 데이터의 – junhao82

+0

소스는 2013 BRFSS 조사에서입니다 : https://d3c33hcgiwev3.cloudfront.net/_384b2d9eda4b29131fb681b243a7767d_brfss2013.RData?Expires=1508112000&Signature=d3igdAz-A-h0dibkyU-oOTOweO~I9OsksFOLxKxEgMnQRFJWxENJJG6gYFsbhQVw-56mne4Tjo6NMN3biO61Ba2BAWR4HOPX5MHiSkzq92ph~QIFZaHg7aJOoK56kNQVqm7SRhBL4kr7jBvLWiAUk7ilulJZq7ejIk2~tm60gnk_&Key-Pair-Id= APKAJLTNE6QMUY6HBC5A – junhao82

+0

나는 sleepptim1, 남성, 여성, 카운트/토탈 (남성과 여성을 모두 합산하기 위해 나중에 변이시킬 수 있음)을 채우기 위해 섹스에서 데이터를 사용하고 있습니다. @jsb – junhao82

-4

이 시도를 .. brfss %> % 확산 (키 = 성별, 값 = 성) %> % 선택 (hours1, 남성, 여성, 카운트)