使用单独的函数后,我无法使用新列创建新的数据框

时间:2019-06-10 04:05:44

标签: r

我使用了单独的功能将一列分数分为4。例如,将“ 66-67-69-67”分为“ 66 67 69 67”,其对应名称为“ R1”,“ R2”,“ R3” ','R4。我运行了一行,它准确地显示了我想要的。但是之后,当我想要一个包含这些列的新数据框时,出现错误“找不到对象R1”。

({name, number})

但是当我使用下面的代码创建新的数据框时,我得到了错误

df <- data.frame(rank,player,score,total,par)
separate(df, score, c('R1', 'R2','R3','R4'), sep="\\-")
rank                        player  R1   R2   R3   R4 total par
1                      So Yeon Ryu  64   67   69    67   267 -21
2                  Caroline Masson  67   66   68    68   269 -19
3                         Lydia Ko  69   67   67    67   270 -18

1 个答案:

答案 0 :(得分:1)

正如@akrun指出的那样,等级,玩家和总数是独立的对象,但是R1等。并非如此。必须从父数据帧调用它们。试试这个:

df <- data.frame(rank,player,score,total,par)
ab <- separate(df, score, c('R1', 'R2','R3','R4'), sep="\\-")

现在是新的数据框:

df.rd <- data.frame(rank,player, ab$R1, ab$R2, ab$R3, ab$R4, total)
head(df)