2016-12-03 94 views
0

我试图添加一列,当列“市场”包含“比利时”或“阿根廷”。R:添加具有条件值的列在向量中(%为%或列为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(“Belgium”,“阿根廷“) 我会尽力删除这个问题,抱歉给您带来不便,谢谢! – Sherm4n

+0

'd [“foo”]'返回一列数据帧。 'd $ foo'返回该列的向量。你也可以使用双方括号'd [[“foo”]]',它也返回向量,与'd $ foo'完全相同。如果你想通过另一个间接级别得到一个列,这很有用,例如:'z =“foo”; d [[z]]'gets'd [[“foo”]]''。与美元符号很难做到。 – Spacedman

回答

0

我认为出了什么问题,我正在使用熊猫语法,我应该使用>>> d2 [“find_belgium_argentina”] = d2 $ market%c(“Belgium”,“Argentina”)I'我会尽力删除这个问题,抱歉给您带来不便,谢谢!

相关问题