【发布时间】:2015-01-08 15:14:28
【问题描述】:
我使用ifelse 语句告诉程序将月份分类为各自的季度。例如1-3月(I),4-6月(II)......等。我使用以下ifelse 声明:
eight$quarter<-ifelse(eight$month=="01", eight$quarter=="I", 0)
每当标题为“月”的列中存在“01”值时,出于某种原因,“季度”列中的值就会出现在 NA 上。其他一切都很好,因为值 02-12 为零。我很好奇我的编码哪里出错了,所以我可以删除 NA 并用相应的季度号替换它们。
【问题讨论】:
-
是“01”文字,没有用错字母O吗?
-
你分配了两次
eight$quarter -
尝试阅读
?ifelse文档 -
问题是
eight$quarter=="I"总是返回FALSE。他用==代替= -
仅供参考,您可以避免使用
ifelse并执行c("0","I")[(eight$month=="01") + 1]之类的操作。此外,如果您不关心只是获得1和0的向量(而不是I和0),您可以简单地执行(eight$month=="01") + 0
标签: r date if-statement