将因子变量添加到数据框

时间:2018-03-11 21:08:54

标签: r variables dataframe

我有一个数据框"书籍"用数字变量"价格。"我想创建一个名为"价格合理的新因子变量"有两个级别:"是"和"没有。"当价格大于100时,价格实惠等于"没有。"当价格低于100时,价格实惠等于"是。"如何创建此变量并将其添加到我的数据框?

这就是我被困的地方:

books$affordable <- ifelse(books$price > 100, "no", "yes")

1 个答案:

答案 0 :(得分:0)

OPs初始代码:

books$affordable <- ifelse(books$price > 100, "no", "yes") 

这应该产生一个字符向量,"no"用于测试评估为TRUE的情况,即它是昂贵的,否则为"yes"。除非您没有告诉我们您的数据:

class(books$affordable)
# [1] "character"

你想要一个因素。所以这样做:

books$affordable <- factor(ifelse(books$price > 100, "no", "yes")) 

检查

class(books$affordable)
levels(books$affordable)

请注意,您的等级将首先与"no""yes"秒一起订购。这可能是你想要的,但可能不是。