小编Jen*_*ise的帖子

根据另一列中的因子级别更改一列中的数值

我需要在我的数据框的一列中将某些数值设置为零,如果在另一列中它们具有某个因子级别.

我的数据框df看起来像:

Items Store.Type
5      A
4      B
3      C
6      D
3      B
7      E
Run Code Online (Sandbox Code Playgroud)

我想要做的是使Items = 0,对于Store.Type ="A"或"C"的所有行

我对R很新,但想到这将是"If Store.Type A then Items < - 0"形式的条件语句(然后重复Store.Type C),但我不明白?"if"一页.我试过了:

df$ItemsFIXED <- with(df, if(Store.Type == "A")Items <-0)
Run Code Online (Sandbox Code Playgroud)

并收到警告信息:

Warning message:
In if (Store.Type2 == "Chain - Brand") Total.generic.items <- 0 :
 the condition has length > 1 and only the first element will be used`
Run Code Online (Sandbox Code Playgroud)

所以我在这里注意到以下内容:

  • if 是一个控制流语句,将单个逻辑值作为参数
  • ifelse 是一个矢量化函数,以向量作为其所有参数.

因此,想象我需要ifelse完成整个列并能够理解?ifelse页面,我试图做"如果Store.Type A然后项目< - …

if-statement r dataframe

5
推荐指数
1
解决办法
7288
查看次数

标签 统计

dataframe ×1

if-statement ×1

r ×1