合并命名数值向量与data.frame:按站点计算(value-向量值)/100
解决方案
数据定义
pr <- structure(list(value = c(21, 4, 75, 14), site = c("ra", "ce", "ze", "ste")), row.names = c("1", "2", "3", "4"), class = "data.frame") f11 <- c(ze = 54, ra = 7, ce = 63, ste = 36)
实现代码
# 为每个站点匹配f11中的对应数值 pr$f_val <- f11[pr$site] # 构造目标表达式字符串 pr$expr <- sprintf("(%d-%d)/100", pr$value, pr$f_val) # 按指定格式对齐输出 cat(sprintf("%15s %10s\n\n", "value", "site")) apply(pr[, c("expr", "site")], 1, function(x) cat(sprintf("%15s %10s\n", x[1], x[2])))
运行输出
value site (21-7)/100 ra (4-63)/100 ce (75-54)/100 ze (14-36)/100 ste
内容的提问来源于stack exchange,提问作者bic ton
相关产品推荐
相关产品推荐

