我有一个向量(mychipvalue),里面有一个数字元素。
如果数字为0,我想将其替换为“ <0.001”。如果数字不为0但例如为0.053,我希望保持不变(保持0.053)。
感谢您的帮助!
mychipvalue <- 0
mychipvalue < ifelse(mychipvalue==0,paste0("<0.001"),paste0(mychipvalue))
答案 0 :(得分:1)
您不需要对paste0
进行这些调用,但是为了保持一致性,在两种情况下都应报告一个字符:
mychipvalue <- 0
mychip_report <- ifelse(mychipvalue==0, "<0.001", as.character(mychipvalue))
我正在使用一个新的字符变量来存储ifelse
的输出,因为您的原始数据是数字的,应该保持这种状态。
答案 1 :(得分:1)
您甚至不需要ifelse
。这也可以
mychipvalue[mychipvalue == 0] <- "<0.001"
但是正如蒂姆·比格莱森(Tim Biegeleisen)提到的那样,您最终得到了一个字符向量。
答案 2 :(得分:1)
使用replace
replace(mychipvalue, mychipvalue == 0, "<0.001")