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"))
任何帮助都会很棒,我确定必须有一个简单的方法来做到这一点,我只是读了几篇帖子后才想到它,谢谢!
嗨,我认为出了什么问题,我使用熊猫的语法,我应该使用>>> d2 [“find_belgium_argentina”] = d2 ** $ market **%in%c(“Belgium”,“阿根廷“) 我会尽力删除这个问题,抱歉给您带来不便,谢谢! – Sherm4n
'd [“foo”]'返回一列数据帧。 'd $ foo'返回该列的向量。你也可以使用双方括号'd [[“foo”]]',它也返回向量,与'd $ foo'完全相同。如果你想通过另一个间接级别得到一个列,这很有用,例如:'z =“foo”; d [[z]]'gets'd [[“foo”]]''。与美元符号很难做到。 – Spacedman