2017-02-13 7 views
-3

인 거대한 xlsx 파일을 키워드 순위로 채우고 순위에 대한 가시성을 계산해야합니다. 검색 량의R에서 계산을 만들 필요가 있지만 숫자가

순위 *의 % : 엑셀 같은 큰 파일을 처리 할 수없는, 그래서 키워드의 가시성을 계산하기 위해, 어쨌든

R.

을 배우고,이 공식이 필요합니다. 90 %
2 - - 80 %
3 - 70 %
4 - 60 %
5 - 50 %

1 :

는 % 임의 동안 I가 사용 순위에 따라
6-40%
7-30%
8~20%
9~10%
10~5%,453,210 11 + - 0 % 검색 량에 의해

내가 Excel에서 일할 수있는 때, 나는 시트 위의 차트를 가지고 있고, 계급의 VLOOKUP을, 그리고 것입니다 *. 예 :

Keyword |rank |search volume |visibility  
keyword1 |1 |1,000   |900 
Keyword2 |5 |50,000  |25,000 
Keyword3 |12 |3,500   |0 

R에서이 작업을 수행하는 방법은 무엇입니까? 나는 R에 매우 익숙하며 루프를 가지고 몇 가지 시도를 해봤지만 아무 것도 효과가 없다. 이런 초기 데이터 프레임이라는 rank_data 함께 미리

+0

안녕하세요, 데이터 행 몇 개 중'dput'을 붙여 넣어 예상 출력을 표시 하시겠습니까? 예 : http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

'컷 (cut)'함수를 사용하여 사용할 순위 클래스가있는 다른 열을 만듭니다. 그런 다음 순위 클래스와 다른 입력을 인수로 취하여이 함수로 계산을 수행하는 함수를 작성하십시오. – snaut

+0

방금 ​​컷을 찾았는데 어느 정도는 작동합니다. 가시성을 위해 랭크 11+를 "자르고"0을 반환 할 수는 있지만 랭크 1-10을 개별적으로 계산해야합니다. 이 작업을 수행하는 더 빠른 방법이 있습니까? 당신의 도움을 주셔서 감사합니다. – jceg316

답변

1

감사 ..

keyword rank search_volume 
1  A 1   1000 
2  B 5   50000 
3  C 12   3500 

하면 작은 함수를 생성하고 dplyr 내에 개의 mutate 함수를 사용하여 새로운 컬럼 결과를 추가 할 수도 도서관. 당신이 맞는 볼 가시성 열을 포함하는 새로운 데이터 프레임을 반환

library(dplyr) 

visFunc <- function(rank, search_volume){ 

    if(rank == 1){ 
     rank_pct <- 0.90 
    } 

    else if(rank == 5){ 
     rank_pct <- 0.50 
    } 

    else if(rank > 10){ 
     rank_pct <- 0 
    } 

    return(rank_pct * search_volume) 

} 

visabilityData <- mutate(rank_data, visability = mapply(visFunc, rank,search_volume)) 

..

keyword rank search_volume visability 
1  A 1   1000  900 
2  B 5   50000  25000 
3  C 12   3500   0 

은 물론 기능을 조정할.

0

답장을 보내 주셔서 감사합니다.하지만 알아낼 수있었습니다.

열 A의 순위, 열 B의 가시성 %를 가진 스프레드 시트를 만들고이 스프레드 시트의 병합 된 순위를 주 스프레드 시트의 순위와 병합했습니다. 그런 다음 모든 계산을 수행 할 수 있습니다.