r语言 - ifelse() 和 paste0() 在向量中



我有一个向量(mychipvalue(,里面有一个数字元素。

如果数字为 0,我想将其替换为"<0.001"。如果数字不是 0 而是例如 0.053,我想保持原样(保持 0.053(。

感谢您的任何帮助!

mychipvalue <- 0 
mychipvalue < ifelse(mychipvalue==0,paste0("<0.001"),paste0(mychipvalue))

你不需要这些调用来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")

最新更新