我有一个数据框pr和一个向量f11
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)
Run Code Online (Sandbox Code Playgroud)
我想为每个站点提供此输出(站点的顺序并不重要):
value site
(21-7)/100 re
(4-63)/100 ce
(75-54)/100 ze
(14-36)/100 ste
Run Code Online (Sandbox Code Playgroud)
f11您可以使用 来对向量进行子集化pr$site。所以最终的解决方案可能是
pr$value <- (pr$value - f11[pr$site]) / 100
Run Code Online (Sandbox Code Playgroud)