比较值后如何打印值的标题? 我有一些按以下方式存储的计算值:
Value1 12
Value2 6
Value3 7
Value4 5
如何在标题的四个值中打印最大值?
我只能获得值中的最大值,但不能获得标题/描述 例如:
"print(max(Value1,Value2,Value3,Value4))"
给我:
"12"
但是我需要输出为:
"Max. value is Value1 = 12"
这可能吗?
答案 0 :(得分:1)
假设值存储为单个数字对象,如下所示,并用某种模式"ValueX"
命名,我们可以将它们全部放入列表中,然后获取max / min和paste
的索引:< / p>
# example data
Value1 <- 12
Value2 <- 6
Value3 <- 7
Value4 <- 5
# put all in a named vector
x <- mget(ls()[ grepl("^Value", ls()) ])
# then paste
ix <- which.max(x)
paste("Max. value is", names(x[ ix ]), "=", x[ ix ])
# [1] "Max. value is Value1 = 12"
答案 1 :(得分:0)
可能的解决方案是这样的:
c <- data.frame(a = c("Value1", "Value2", "Value3"), b = c("4","9","5"), stringsAsFactors = FALSE)
print(paste("Max. value is", str_c(c[which(c$b == max(c$b)), 1], c[which(c$b == max(c$b)), 2], sep = " = "), sep = " "))