我有一个数据框"书籍"用数字变量"价格。"我想创建一个名为"价格合理的新因子变量"有两个级别:"是"和"没有。"当价格大于100时,价格实惠等于"没有。"当价格低于100时,价格实惠等于"是。"如何创建此变量并将其添加到我的数据框?
这就是我被困的地方:
books$affordable <- ifelse(books$price > 100, "no", "yes")
答案 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"
秒一起订购。这可能是你想要的,但可能不是。