我正在尝试添加此表:
# [,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
在我的数据框中,分别将“ predAwayScore”和“ predHomeScore”列添加到该列中。
我想将第一个数据集(-.87,-。75等)的左列插入适当的单元格中。该数据集(8、7、2等)的右侧对应于数据框中需要输入值的字母。 (例如,AwayTeam E = 5 = -.05)
我不确定如何将一列插入另一数据框中,以及如何参考所附的字母指南。
感谢您的帮助。
答案 0 :(得分:0)
一种选择是创建一个命名向量,使用它来匹配“ AwayTeam”,“ HomeTeam”值以获取相应的分数并将这些值分配给“ predAwayScore”,“ predHomeScore”列
nm1 <- setNames(m1[,1], LETTERS[m1[,2]])
df1$predAwayScore <- nm1[df1[['AwayTeam']]]
df1$predHomeScore <- nm1[df1[['HomeTeam']]]
df1
# Week AwayTeam HomeTeam predAwayScore predHomeScore
#1 3 E A -0.050 3.29
#2 3 A F 3.290 -0.51
#3 4 H E -0.870 -0.05
#4 4 I A -0.895 3.29
#5 5 F C -0.510 0.43
#6 5 F J -0.510 -3.29
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))