t1 <- c('064359208644', '108595042227', '115705579765', '139254098290', '163646243244')
t2 <- c('064359208644', '139254098290', '163646243244')
missing_elem <- as.character(setdiff(t1, t2))
missing_elem
if(length(missing_elem) != 0){
ss <- cat("Missing ids:", missing_elem)
}else{
ss <- "There are no missing ids"
}
ss
当我打印ss的输出时,它会显示NULL
,但如果t1和t2相同且length(missing_elem)
为0,则ss正确设置为&#34;没有丢失的ID&# 34;并相应地显示。知道为什么会这样吗?
答案 0 :(得分:2)
如果您想重新获得一个角色,只需使用paste
代替cat
。
答案 1 :(得分:2)
函数cat
不返回连接字符串,而是打印到标准输出并返回NULL
(这就是ss
的值为NULL
)的原因。您可能想要使用paste
:
if(length(missing_elem) != 0){
ss <- paste("Missing ids:", paste(missing_elem, collapse = ', '))
}else{
ss <- "There are no missing ids"
}
> ss
[1] "Missing ids: 108595042227, 115705579765"