2017-12-03 10 views
0

를 작동하지 않을 때를 즉, 하나 개의 범주를 포함 :그것은 잘 작동이 나에게 두 가지 범주 (범주 이름 및 BRAND_NAME)</p> <p>에 해당 데이터에 대한 평균의 요약을 제공하도록 내가 R에 <code>tapply</code>를 사용하는 것을 시도하고있다

brandavg <- tapply(train$price, train$brand_name, mean) 
head(brandavg, 10) 

이 보이는 뭔가 같은 :

""    "brandavg" "brandstd" 
"% Pure"   13.85   5.53719480565651 
"10.Deep"   21   NA 
"21men"   10   NA 

하지만이 코드를 사용하여, 두 가지 범주로 실행하려고 할 때 :

brandcatavg <- tapply(train$price, list(train$brand_name, train$category_name), mean) 
head(brandcatavg, 10) 

카테고리 이름 (10 개 이상) 목록은 있지만 평균은 없습니다.

정말 실망스러운 해결책이 있지만 벽에 머리를 치려고합니다.

현재 코드 시도되었습니다처럼 보이는

brandcatavg <- tapply(train$price, list(train$brand_name, train$category_name), mean) 

brandcatavg <- with(train, tapply(price, list(brand_name, category_name), mean)) 

모두 수율 뭔가 :

Vintage & Collectibles/Paper Ephemera/Postcard Vintage & Collectibles/Paper Ephemera/Stamps 
       Vintage & Collectibles/Serving/Bowl Vintage & Collectibles/Serving/Casserole 
       Vintage & Collectibles/Serving/Cream and Sugar Set Vintage & Collectibles/Serving/Dinnerware Set 
       Vintage & Collectibles/Serving/Flatware Vintage & Collectibles/Serving/Glassware 
       Vintage & Collectibles/Serving/Mug Vintage & Collectibles/Serving/Other 
       Vintage & Collectibles/Serving/Pitcher Vintage & Collectibles/Serving/Plate 
       Vintage & Collectibles/Serving/Salt and Pepper Shakers Vintage & Collectibles/Serving/Teacup 
       Vintage & Collectibles/Serving/Teapot Vintage & Collectibles/Serving/Tray 
       Vintage & Collectibles/Serving/Tumbler Vintage & Collectibles/Supplies/Bead 

(I 길이의 출력을 차단합니다 ...)

I 다음과 같이 처음 열을 가져옵니다.

train_id         name item_condition_id          category_name 
,451,515,

1 개 0 메이저 리그 신시내티 레즈 T 셔츠 사이즈 XL 세 남성 /상의/T 셔츠 2 일의 Razer BlackWidow 크로마 키보드 3 전자/컴퓨터 & 정제/부품 & 부품 3 2 AVA-VIV 블라우스 1 여성/탑 & 블라우스/블라우스 4 3 가죽 뿔 조각상 1 집/홈 데코/홈 데코 악센트 5 4 24K 골드 도금 장미 1 여성/쥬얼리/목걸이 6 5 Ruie 3 여성용/기타/기타 용 번들 항목 7 6 Acacia pacific tides santorini 위로 3 여성/수영복/투피스 8 7 소녀의 환호와 번들 7 3 스포츠 & Outdo 2 Razer의 52 0 운송 ORS/의류/여자 9 8 여자 나이키 프로 반바지 3 개 스포츠 & 야외/의류/여자 10 9 도자기 광대 인형 검사기 바지 VTG 3 개 빈티지 & 용품/용품/인형 BRAND_NAME 가격 3 타겟 아카시아 수영복 64 0 6 1 8 Soffe 나이키 19 0 10 8 0 1 ITEM_DESCRIPTION 설명이 없습니다 2이 키보드는 좋은 상태이며 상자에서 나온 것처럼 작동합니다. 모든 포트가 테스트되고 완벽하게 작동합니다. 조명은 PC의 Razer Synapse 응용 프로그램을 통해 사용자 정의 할 수 있습니다. 3 레이스의 힌트와 뒷면에 열쇠 구멍이있는 사랑스러운 상단!엷은 분홍색은 1X이고, 또한 흰색으로 3X를 사용할 수 있습니다! 4 개의 새로운 태그. 가죽 말. 각 [rm]의 소매. 높이 약 1 미터 서. 그들은 쌍으로 판매되고 있습니다. 궁금한 점이 있으시면 언제든지 문의하십시오. 무료 배송. 방금 저장 장치를 벗어났습니다. 5 정품 인증서가 필요합니다. 바나나 공화국의 바지와 일치하는 블레이저가 달린 사탕 스커트, Amy Byers 슈트, 로프트 하의 및 캐미 톱. 7 크기는 작지만 스트랩은 xs에 맞게 약간 짧게, 그 외에는 완벽한 조건 8 중소 소녀에서 3 쌍의 소피 치어 반바지 크기 중소 소녀와 2 쌍의 스포츠 브래지어/소년 반바지 스 판 덱 스 매칭 세트를 얻을 수 있습니다. 모든 항목은 매장에서 [rm]의 총 소매이며 오늘 상점에서 한 항목의 가격보다 더 적게 그를 데려 갈 수 있습니다!) 9 명의 작은 소녀 크기 녹색. 총 3 개의 반바지. 10 나는 바지가 사진 뒤에 거꾸로 있다는 것을 깨달았다. 그들은 매우 더러워서 손을 씻었습니다. 그는 채워진 시체와 도자기 머리, 손과 발을 칠했습니다. 광대가 너무 무섭기도 전에. ..

: 9 "키가 없음 칩이나 균열하지만 몇 가지 장소에서 약간의 페인트 손실 광대 서커스 인형 소장은

(. dput 나에게 펑키 결과를주고있다)

는 결국 코드를 ​​해결하려면이 있어요

라이브러리 (dplyr) 당신은 가까운

brandcatavg <- train %>% 
    group_by(category_name, brand_name) %>% 
    summarise(averageprice = mean(price, na.rm=TRUE)) 
+1

코드에서 명백히 잘못된 것을 볼 수는 없다. 데이터에 대한 작은 예제를 추가 할 수 있습니까? 'dput (dropsvel (train [1:10, c ("price", "brand_name", "category_name")]))' – user20650

+0

의 결과를 사용하여 질문을 편집하면됩니다. 위의 코드를 더 많이 편집했습니다! –

+0

줄리아. 'dput'을 사용하여 반환 된 형식으로 데이터를 추가 할 수 있습니까? 이렇게하면 사용자가 쉽게 복사하여 r 세션에 붙여 넣을 수 있습니다. 그대로, 사용자가 데이터를 사용할 수 있도록하기 위해 약간의 노력이 필요합니다. – user20650

답변

0

, 시도 :

with(train, tapply(price, list(brand_name, category_name), mean)) 
+0

도움을 주셔서 감사합니다! 그러나, 내가 전에 본 코드를 사용할 때 동일한 오류가 발생하는 것 같습니다 (본질적으로 의미없는 범주의 매우 긴 목록) –

+0

5 또는 6 줄의 데이터를 제공 할 수 있습니까? 또한,이 유형의 문제에 대한 다른 패키지'dplyr','reshape2'도 있습니다. 나는 내 목표를 시도 할 수있다! –

+0

확실히! 위에서 몇 줄의 데이터를 보여주기 위해 편집했습니다! –