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