我喜欢创建一个带有函数paste0的向量,如果值大于0,则将值粘贴到每个rownames中。
ts <- data.frame(t2)
ts
1 1
2 1
3 0
4 0
5 0
6 2
footer <- c(paste0("There is ",ts$t2[1]," subject missing in group ",rownames(ts)[1]),
paste0("There is ",ts$t2[2]," subject missing in group ",rownames(ts)[2]),
paste0("There are ",ts$t2[6]," subjects missing in group ",rownames(ts)[6]))
footer
[1] "There is 1 subject missing in group 1" "There is 1 subject missing in group 2"
[3] "There are 2 subjects missing in group 6"
感谢您的进步。
答案 0 :(得分:8)
一个漂亮的小sapply
如果有一个switch
被抛出来做得很好
ts <- data.frame(t2 = c(1,1,0,0,0,2))
s <- which(rowSums(ts) > 0)
sapply(s, function(x) paste0("There ", switch(ts[x, ], "1" = "is ", "are "), ts[x,], " missing from group ", x))
# [1] "There is 1 missing from group 1" "There is 1 missing from group 2" "There are 2 missing from group 6"