r - 使用单独的函数后,我无法使用新列创建新数据框
问题描述
我使用单独的函数将一列分数拆分为 4。例如,“66-67-69-67”为“66 67 69 67”,对应的名称为“R1”、“R2”、“R3”、 R4。我运行这条线,它准确地显示了我想要的。但在那之后,当我想要一个包含这些列的新数据框时,会出现错误“找不到对象 R1”。
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
但是当我使用下面的代码创建新的数据框时,我得到了错误
df.rd <- data.frame(rank,player,R1, R2, R3, R4, total)
head(df)
Error in data.frame(rank, player, R1, R2, R3, R4, total) :
object 'R1' not found
解决方案
正如@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)
推荐阅读
- tokenize - 如何分解字符串以检查其属于从字母表生成的语言?
- django-rest-framework - restframework-jwt 如何处理有效负载?
- uiimageview - 有效地将 MTKView 纹理捕获到 UIImageView
- omnet++ - omnet++:无法安装 omnetpp-5.4
- angular - golang中AES解密的恐慌返回
- javascript - Moment JS持续时间显示错误的时间?
- powershell - Powershell:从“NET share”或“Remove-SmbShare”重定向输出
- python - 如何使用 Apache Spark 仅流式传输文件的一部分
- php - TYPO3 6.2 中的链接验证器(错误:403,代理验证)
- javascript - Node.js - Google Calendar API 在插入事件时显示错误“缺少结束时间”