2017-12-01 1 views
-3

각 클래스의 가격 열에 대한 지연 논리를 얻는 데 도움을주십시오. 이것은 샘플 데이터 일 뿐이며 각 항공사에 많은 행이있을 것이며 2 개 항공사의 행 수가 같지 않을 것입니다.지연 프로그래밍.

입력 테이블. QR - 분기 AL - 항공 CL - 클래스

QR AL Cl  Price 
1 EM First 10000 
2 EM First 10000 
3 EM First 10000 
4 EM First 10000 
1 EM Second 8000 
2 EM Second 8000 
3 EM Second 8000 
4 EM Second 8000 
1 EM Third 6000 
2 EM Third 6000 
3 EM Third 6000 
4 EM Third 6000 
1 BA First 10000 
2 BA First 10000 
3 BA First 10000 
4 BA First 10000 
5 BA First 10000 
6 BA First 10000 
1 BA Second 8000 
2 BA Second 8000 
3 BA Second 8000 
4 BA Second 8000 
5 BA Second 8000 
6 BA Second 8000 
1 BA Third 6000 
2 BA Third 6000 
3 BA Third 6000 
4 BA Third 6000 
5 BA Third 6000 
6 BA Third 6000 

출력 테이블 - 나는 다음과 같이 DF해야합니다 먼저 DF - 가격은 각 클래스 2 개 세포의 지연이있을 것이다.

QR AL CL Price 
1 EM First NA 
2 EM First NA 
3 EM First 10000 
4 EM First 10000 
1 EM Second NA 
2 EM Second NA 
3 EM Second 8000 
4 EM Second 8000 
1 EM Third NA 
2 EM Third NA 
3 EM Third 6000 
4 EM Third 6000 

두 번째 DF : 가격은 각 클래스마다 4 셀 지연됩니다.

QR AL CL  Price 
1 BA First NA 
2 BA First NA 
3 BA First NA 
4 BA First NA 
5 BA First 10000 
6 BA First 10000 
1 BA Second NA 
2 BA Second NA 
3 BA Second NA 
4 BA Second NA 
5 BA Second 8000 
6 BA Second 8000 
1 BA Third NA 
2 BA Third NA 
3 BA Third NA 
4 BA Third NA 
5 BA Third 6000 
6 BA Third 6000 
+0

솔직히 말해서, 나는 당신이하고 싶은 것을 이해하지 못합니다. 두 번째 data.frame은 날마다 각 항공사의 처음 두 행과 클래스 조합 수준을 NA로 바꾼 것처럼 보입니다. 그래서 당신이 원하는 것이 있다면 dplyr (함수 ddply)를 사용하고 변수 "AL"과 "CL"(.variables = c ("AL", "CL") 및 함수 (x)를 사용하여 x $ Price [1 : 2] = "NA". – user18093

답변

0

솔직히 말해서, 나는 당신이하고 싶은 것을 이해하지 못합니다.
두 번째 data.frame은 날마다 각 항공사의 처음 두 행과 클래스 조합 수준을 NA로 바꾼 것처럼 보입니다.
그렇다면 plyr (함수 ddply)을 사용하고 변수 "AL"과 "CL"(.variables = c ("AL", "CL") 및 함수 x $ 가격. : - [1 2] = "NA"user18093 34 초 전에 작업을해야이 시도하지 않고

편집 : (한 동안 ddply 사용하지 않은, 그래서 몇 가지 세부 사항이 잘못 될 수 있음)

ddply(df, .variables = .(AL,CL), .function = function(subset){ 
             new_price = subset$price 
             new_price[1:2] = "NA" 
             subset$price = new_price 

내 기능이 무엇인지 명확하게하기 위해 작성되었습니다. 원한다면 부분 집합 $ price [1 : 2] = "NA"를 입력하면됩니다. ddply, 그냥 다른 사용 .function - 당신은 스스로 그것을 이해할 수 있습니다. 희망합니다.