2016-12-03 7 views
0

"market"열에 "Belgium"또는 "Argentina"가 포함되어 있으면 TRUE로 플래그하는 열을 추가하려고합니다. ".R : 조건 값이 벡터 인 열 추가 (% in % 또는 열의 is.element)

id year quarter market new_col_1 find_belgium_argentina<br> 
1 2002  Q1 Belgium   1     FALSE<br> 
2 2002  Q1 Belgium   1     FALSE<br> 
3 2002  Q1 Belgium   1     FALSE<br> 
4 2002  Q1 Belgium   1     FALSE<br> 
5 2002  Q1 Belgium   1     FALSE<br> 
6 2002  Q1 Belgium   1     FALSE<br> 

이 같은 하나의 문자열로 트릭을 할 수 있습니다 내가 이러한 식을 시도하는 경우가 작동하지 않는 ...

d2["find_belgium_argentina"] = d2['market'] == "Belgium" 

그러나 >>> >>>

d2["find_belgium_argentina"] = d2["market"] %in% c("Belgium", "Argentina") 

d2["find_belgium_argentina"] = is.element(d2["market"], c("Belgium", "Argentina")) 

도움이 될 것입니다, 나는 그것을 할 수있는 쉬운 방법이 틀림 없다고 확신합니다. 나는 여러 게시물을 읽은 후에 그것을 이해할 수 없었습니다. 감사합니다!

+0

안녕하세요, 내가 잘못 생각한 것, 팬더 구문을 사용 중이었습니다. >>> d2 [ "find_belgium_argentina"] = d2 ** $ market ** % in % c ("벨기에", " 아르헨티나 ") 불편을 끼쳐 드려 죄송합니다. 질문을 삭제하려고합니다. 감사합니다. – Sherm4n

+0

'd [ "foo"]'는 하나의 열이있는 데이터 프레임을 반환합니다. 'd $ foo'는 그 열의 벡터를 반환합니다. 이중 대괄호'd [[ "foo"]]'를 사용하여 벡터를 반환 할 수도 있는데, 이는 'd $ foo'와 동일합니다. 이것은 다른 레벨의 간접적 인 지시에 의해 열을 얻고 자 할 때 유용하다. 예 :'z = "foo"; d [[z]]'d [[ "foo"]]'를 얻는다. 달러 표기법으로하기가 어렵습니다. – Spacedman

답변

0

제가 잘못 어떤 그림 I는 판다 구문을 이용하여, I를 이용 >>> D2 있어야 [ "find_belgium_argentina은"]는 %의 C ("벨기에", "아르헨티나") I '는에서 D2 $ 시장을%를 = 불편을 끼쳐 드려 죄송합니다. 감사합니다.