繁体   English   中英

ifelse()和paste0()在向量中

[英]ifelse() and paste0() in a vector

我有一个带有单个数字元素的向量(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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM