R 给定某个数据帧,如何减去矩阵中的两个值?
我目前正在尝试制作一个能够预测球队得分的工具。 本质上,我使用take两个变量,减去它们对应的r值。 这是我正在考虑的数据框架 每个团队A:J都有一个与之相关的“r值”:R 给定某个数据帧,如何减去矩阵中的两个值?,r,matrix,R,Matrix,我目前正在尝试制作一个能够预测球队得分的工具。 本质上,我使用take两个变量,减去它们对应的r值。 这是我正在考虑的数据框架 每个团队A:J都有一个与之相关的“r值”: # [,1] #[1,] -0.870 8 #[2,] -0.750 7 #[3,] 2.290 2 #[4,] -0.050 5 #[5,] 0.355 4 #[6,] -0.895 9 #[7,] 3.290 1 #[8,] -0.510 6 #[9,] 0.430 3 #[
# [,1]
#[1,] -0.870 8
#[2,] -0.750 7
#[3,] 2.290 2
#[4,] -0.050 5
#[5,] 0.355 4
#[6,] -0.895 9
#[7,] 3.290 1
#[8,] -0.510 6
#[9,] 0.430 3
#[10,] -3.290 10
我为不清楚表示歉意,但“r值”在第1列,第2列中的值对应于团队的字母(即A=1、B=2等)
关于数据帧,我尝试执行以下操作:
对于第一行,从A中减去E。对于第二行,从F中减去A,以此类推
我希望这是有道理的。我最终不确定如何以最有效的方式进行这项工作。
谢谢你的帮助 我们可以创建一个命名向量,然后使用它匹配“AwayTeam”、“HomeTeam”值并进行减法运算
nm1 <- setNames(m1[,1], LETTERS[m1[,2]])
Reduce(`-`, lapply(df1[c('AwayTeam', 'HomeTeam')], function(x) nm1[x]))
数据
m1
nm1[df1[['AwayTeam']]] - nm1[df1[['HomeTeam']]]
m1 <- structure(c(-0.87, -0.75, 2.29, -0.05, 0.3555, -0.895, 3.29,
-0.51, 0.43, -3.29, 8, 7, 2, 5, 4, 9, 1, 6, 3, 10), .Dim = c(10L,
2L))
df1 <- structure(list(Week = c(3, 3, 4, 4, 5, 5), AwayTeam = c("E",
"A", "H", "I", "F", "F"), HomeTeam = c("A", "F", "E", "A", "C",
"J")), class = "data.frame", row.names = c(NA, -6L))