변수가 actor
인 문자열이고 "military forces of guinea-bissau (1989-1992)"
과 같은 값을 포함하고 다른 많은 값은 상당히 복잡합니다. 나는 을 사용하여 다양한 액터 유형과 일치하는 문자 패턴을 찾습니다. 예를 들어 actor
에 이 있고 "mutiny of"
을 포함하지 않고 actor
변수에 country
문자열이 포함되어있는 경우 새로운 변수 actor_type
을 1
으로 코딩하고 싶습니다.grep return에 기반한 코드 새 변수를 코드화합니다
일부 무서운 for 루프에 의지하지 않고이 새로운 변수를 조건부로 만드는 방법을 놓치고 있습니다. 도와주세요!
데이터는 다음과 같이 대략 같습니다
| | actor | country |
|---+----------------------------------------------------+-----------------|
| 1 | "military forces of guinea-bissau" | "guinea-bissau" |
| 2 | "mutiny of military forces of guinea-bissau" | "guinea-bissau" |
| 3 | "unidentified armed group (guinea-bissau)" | "guinea-bissau" |
| 4 | "mfdc: movement of democratic forces of casamance" | "guinea-bissau" |
첫 번째 부분이 작동합니다. 그래도 두 번째 부분에서 어떤 일이 벌어지고 있는지 이해하지 못합니다. 나는 x, x가 무엇인지, 지표가 어디에서 왔는지, 그들이 무엇을 선택하는지 알지 못한다. 또한, apply()가 함수 인수를 취하는 것을 알고 있지만, grepl()이 적용 할 경우 apply() 호출에서 function (x)이 여전히 유효합니다. 고마워. – Zach
'grepl'은 하나의 문자열을'pattern' 인자로 취합니다. 국가 (2 열)와 배우 (1 열)를 비교하려면 '패턴 = 2 열'로 각 행에 'grepl'을 적용해야합니다. 나는 그것을하기 위해 익명의 함수를 만들었고 함수가 사용하는 변수는'x'이다. '.data.frame'의 각 행은'grepl'이 평가하는 두 개의 문자열의 벡터로 함수에 보내집니다. 명확한 진흙으로 나는 확실하다 ! – Justin
아니, 실제로 말이 되네. 감사합니다 : – Zach