【发布时间】:2019-02-07 19:56:06
【问题描述】:
我有一个向量(mychipvalue),其中包含一个数字元素。
如果数字为 0,我想将其替换为“
感谢您的帮助!
mychipvalue <- 0
mychipvalue < ifelse(mychipvalue==0,paste0("<0.001"),paste0(mychipvalue))
【问题讨论】:
标签: r if-statement vector paste
我有一个向量(mychipvalue),其中包含一个数字元素。
如果数字为 0,我想将其替换为“
感谢您的帮助!
mychipvalue <- 0
mychipvalue < ifelse(mychipvalue==0,paste0("<0.001"),paste0(mychipvalue))
【问题讨论】:
标签: r if-statement vector paste
您不需要对paste0 的这些调用,但为了保持一致性,您可能应该在两种情况下都报告一个字符:
mychipvalue <- 0
mychip_report <- ifelse(mychipvalue==0, "<0.001", as.character(mychipvalue))
我正在使用一个新的字符变量来存储ifelse 的输出,因为您的原始数据是数字,并且应该保持这种状态。
【讨论】:
你甚至不需要ifelse。这也有效
mychipvalue[mychipvalue == 0] <- "<0.001"
但您最终会得到一个字符向量,正如 Tim Biegeleisen 已经提到的那样。
【讨论】:
使用replace
replace(mychipvalue, mychipvalue == 0, "<0.001")
【讨论】: