根据另一列中的因子水平更改一列中的数值

詹·路易丝

我需要在数据框的一列中将某些数值设置为零,如果在另一列中它们具有一定的因子水平。

我的数据框df看起来像:

Items Store.Type
5      A
4      B
3      C
6      D
3      B
7      E

我想做的是使Store = 0的所有行的Items = 0,即“ A”或“ C”

我对R非常陌生,但认为这将是“ If Store.Type A then Items <-0”形式的条件语句(然后对Store.Type C重复),但是我不明白?"if"页面。我试过了:

df$ItemsFIXED <- with(df, if(Store.Type == "A")Items <-0)

并得到警告消息:

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`

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

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

因此,弄清楚我需要ifelse做整个专栏并能够理解?ifelse页面,我试图做“如果Store.Type A则Items <-0否则不做任何事情”。实际上,我希望它嵌套,所以我尝试了以下代码(现在创建一个新列,这样我就不会弄乱我的数据,但最终它将覆盖Items数据)

df$ItemsFIXED <- with(df, ifelse(Store.Type == "A", Items <-0, 
                          ifelse(Store.Type == "C", Items <-0,)))

并得到以下错误:

Error in ifelse(Store.Type2 == "Franchise - Brand", Total.generic.items <- 0,  : 
  argument "no" is missing, with no default

但是,如果我输入任何内容,no那么只需覆盖正确的值即可。我尝试插入ItemsItems <- Items说出“将其他项保留为项”,如下所示,但这只是将所有内容更改为零。

df$ItemsFIXED <- with(df, ifelse(Store.Type == "A", Items <-0, 
                          ifelse(Store.Type == "C", Items <-0,Items)))

有没有办法告诉ifelse什么都不做,还是有更简单的办法做到这一点?

阿克伦

或者您可以使用%in%多个匹配/替换

 df$Items[df$Store.Type %in% c("A", "C")] <- 0
  df
  #Items Store.Type
  #1     0          A
  #2     4          B
  #3     0          C
  #4     6          D
  #5     3          B
  #6     7          E

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猪根据另一列中的值添加列

来自分类Dev

PostgreSQL根据一列的值触发,以更改或更新每一行中另一列的值。

来自分类Dev

根据Postgres中的另一列设置列的值?

来自分类Dev

如何根据另一列更改矩阵中的列

来自分类Dev

根据另一列从列中检索值

来自分类Dev

根据R中另一列的值选择列

来自分类Dev

根据条件在数据框列中更改值,在另一列中更改值

来自分类Dev

通过根据另一列中的条件更改一列中的值将返回错误

来自分类Dev

根据另一列中的值更新列

来自分类Dev

R数据帧:根据另一列中的值更改第一列中的值

来自分类Dev

如何根据另一列中的值填充另一列中的值?

来自分类Dev

将数据框列与列表中的因子相乘,该因子是根据另一列选择的

来自分类Dev

根据另一列更改一列的值

来自分类Dev

R | 根据另一列中的条件更改列中的元素

来自分类Dev

根据SQL中的另一列填充列

来自分类Dev

根据R中另一列的一部分更改列的值

来自分类Dev

根据另一列中的重复值过滤一列中的唯一值

来自分类Dev

如何根据另一列中的条件更改数据框的某一列中的值?

来自分类Dev

根据另一列的部分添加因子列

来自分类Dev

根据另一列中的唯一值查找一列中的重复项

来自分类Dev

根据另一列的结果减去DataFrames中的列

来自分类Dev

将一列中的每个值除以 R 中另一列中的每个值(对于每个因子水平)

来自分类Dev

根据另一列中的另一个条件在列中添加一组数值

来自分类Dev

根据r中的ID从另一列中的一列中查找值

来自分类Dev

根据另一列中的选择,primefaces 更改数据表中一列的编辑器

来自分类Dev

pandas - 根据另一列更改列中的值

来自分类Dev

根据另一列在 R 中查找特定列

来自分类Dev

如何根据另一列 SQL 中的值创建具有计数值的新列

来自分类Dev

在一列中折叠因子变量的级别,同时对另一列中的计数求和

Related 相关文章

  1. 1

    猪根据另一列中的值添加列

  2. 2

    PostgreSQL根据一列的值触发,以更改或更新每一行中另一列的值。

  3. 3

    根据Postgres中的另一列设置列的值?

  4. 4

    如何根据另一列更改矩阵中的列

  5. 5

    根据另一列从列中检索值

  6. 6

    根据R中另一列的值选择列

  7. 7

    根据条件在数据框列中更改值,在另一列中更改值

  8. 8

    通过根据另一列中的条件更改一列中的值将返回错误

  9. 9

    根据另一列中的值更新列

  10. 10

    R数据帧:根据另一列中的值更改第一列中的值

  11. 11

    如何根据另一列中的值填充另一列中的值?

  12. 12

    将数据框列与列表中的因子相乘,该因子是根据另一列选择的

  13. 13

    根据另一列更改一列的值

  14. 14

    R | 根据另一列中的条件更改列中的元素

  15. 15

    根据SQL中的另一列填充列

  16. 16

    根据R中另一列的一部分更改列的值

  17. 17

    根据另一列中的重复值过滤一列中的唯一值

  18. 18

    如何根据另一列中的条件更改数据框的某一列中的值?

  19. 19

    根据另一列的部分添加因子列

  20. 20

    根据另一列中的唯一值查找一列中的重复项

  21. 21

    根据另一列的结果减去DataFrames中的列

  22. 22

    将一列中的每个值除以 R 中另一列中的每个值(对于每个因子水平)

  23. 23

    根据另一列中的另一个条件在列中添加一组数值

  24. 24

    根据r中的ID从另一列中的一列中查找值

  25. 25

    根据另一列中的选择,primefaces 更改数据表中一列的编辑器

  26. 26

    pandas - 根据另一列更改列中的值

  27. 27

    根据另一列在 R 中查找特定列

  28. 28

    如何根据另一列 SQL 中的值创建具有计数值的新列

  29. 29

    在一列中折叠因子变量的级别,同时对另一列中的计数求和

热门标签

归档