如何在R中再现数据帧?

时间:2018-11-21 13:00:15

标签: r reproducible-research reprex

有时我必须将数据从Excel复制到R中。工作流程如下:

OnSubmit(){

   let updateAllPlayers = combineLatest(this.restApi.updatePlayers(this.allPlayerTeam1), this.restApi.updatePlayers(this.allPlayerTeam1));
    updateAllPlayers.subscribe((teamxx1, teamxx2) => {
      this.router.navigate(['statsRecordGrid', this.team1.id, this.team2.id]);
    }, (e) => {
      console.error("Players not updated");
    });

}

....
}

如果我# Step 1: Highlight Excel spreadsheet to be copied into R # Step 2: Run this command to get the data into R excelss <- read.delim("clipboard") # for Windows 得到了数据框

print(excelss)

问题是::如何获取此数据帧输出并将其永久保存在脚本中?我使用什么reprex命令?这样,下次我打开脚本时,数据框就在那里,而不必打开Excel并再次执行整个复制/粘贴例程?

或另一种放置方式。如何获取控制台数据帧输出并将其保存到编辑器中?

2 个答案:

答案 0 :(得分:2)

我喜欢使用库(datapasta)。它向RStudio添加了一个插件,使您可以将表格数据粘贴为data.frame定义(还可以输出其他输出,例如vector)。安装软件包后,可以通过RStudio中的“添加项”下拉菜单使用该软件包。

答案 1 :(得分:1)

使用read.table(header = TRUE, sep = "\t", quote = "\"", dec = ".", fill = TRUE, comment.char = "", text="..."),即text=以外的其他参数设置为read.delim()。通常我使用read.table(header=TRUE, text="..."),例如为您的数据:

excelss <- read.table(header=TRUE, text=
"      Excel.Col.1  Excel.Col.2
               A           24
               B            5
               C           53")

excelss <- read.table(header=TRUE, text=
"  Excel.Col.1  Excel.Col.2
1           A           24
2           B            5
3           C           53")
excelss