내 데이터 (열차)는 443402 x 27 데이터 프레임이고 새로운 이진 변수 열 $ researchedplan을 "1"로 초기화했습니다. 64,673 건의 고유 한 train $ customer_ID가 있습니다 (각 고객은 데이터 프레임에 임의의 시간을 입력했으나 순서대로 첫 번째 고객은 첫 번째 9 행을, 두 번째 고객은 다음 6을 가짐).r에있는 데이터 프레임의 다른 변수를 기반으로 데이터 프레임에 이진 변수를 추가하는 방법은 무엇입니까?
> train[1:20,c(1,27)]
> customer_ID researchedplan
1 10000000 1
2 10000000 1
3 10000000 1
4 10000000 1
5 10000000 1
6 10000000 1
7 10000000 1
8 10000000 1
9 10000000 1
10 10000005 1
11 10000005 1
12 10000005 1
13 10000005 1
14 10000005 1
15 10000005 1
24 10000013 1
25 10000013 1
26 10000013 1
27 10000013 1
28 10000014 1
는 또한 고객이 특정 계획을 연구하지 않았다 식별 독특한 기차 $의 CUSTOMER_ID 년대의 문자열 포함하는 벡터 (diff_than_researched)가 있습니다. Train $ customer_ID의 문자열과 일치하는 diff_than_researched의 문자열에 대해 train $ researchedplan을 사용하여 고객의 모든 항목이 "0"이되도록하십시오. 예컨대 :
> head(diff_than_researched)
>[1] "10000019" "10000033" "10000036" "10000037" "10000055" "10000075"
그래서, "10000019"모든 항목에 대해, 나는 기차 $의 researchedplan이 "0"과 동일하고 싶습니다. 이제
, 나는 모두와 함께이 작업을 수행 할 수 있지만, 너무 많은 항목을 통해 루프를 너무 오래 걸립니다 "루프"에 대한
(전 1 : 17210) { 기차 $의 researchedplan [ 기차 $ CUSTOMER_ID ==는 diff_than_researched [I]] <-0 }
'train $ researchedplan <- as.numeric (! train $ customer_ID % in diff_than_researched) ' –
환상적입니다 - 감사합니다! – user3342282
@JakeBurkhead 왜 '!'는'% in %'의 평가 후에 적용되며'! train $ customer'가 아닌가요? – rawr