【发布时间】:2016-02-03 23:53:17
【问题描述】:
我的数据组织如下:
year company color car_total
2000 toyota red 873
2013 honda red 737
2012 nissan green 809
2002 toyota blue 429
2000 nissan green 861
2012 honda red 742
2009 toyota red 320
2010 ford yellow 319
2000 ford green 587
2011 nissan blue 777
2014 ford blue 32
我正在尝试替换给定多个条件的列中的值。两种情况:
我想将
company == ford或company == nissan行中的每个car_total替换为0。什么命令可以完成此操作?如果我的约束来自不同的列怎么办?例如如果我想用 0 替换任何
company== 福特或color== 红色的car_total怎么办?
【问题讨论】:
-
感谢您的回复。是的,我是一个相对的 R 新手。但是,我问了这个问题,因为我之前尝试过你建议的确切命令,它把我整个数据集中的所有 car_total 值都变成了 0。一个可能导致我们不同结果的小问题:我实际上正在做一个有条件的不。因此,我正在尝试的代码(使我的所有值都为 0)是: dat$car_total[dat$company != "ford" | dat$color != "red"] = 0
-
所以,只有红色福特不会动。
!ford | !red与!(ford & red)相同 -
哦等等,我是个白痴。我意识到我应该在不使用时使用 ands 而不是 ors。好的,我现在开始工作了。感谢您的帮助!
-
@thelatemail 对于我的代码正确解决的问题,您给了我负面评价。你在搞笑吗?
-
@Jim - 您可能必须先通过
dat$color <- as.character(dat$color)转换变量 - R 不允许您为因子分配一个不存在的值。