如何使用R在多个表中加载一个csv

时间:2018-09-05 12:03:45

标签: r

我正在处理具有多个标头的一组数据:

Lap 1   Athlete   Speed   Distance
        Player 01 5       767
        Player 02 9       886
        Player 03 19      981
Lap 2   Athlete   Speed   Distance
        Player 01 7       876
        Player 02 6       454
        Player 03 14      998
Lap 3   Athlete   Speed   Distance
        Player 01 8       097
        Player 02 9       556
        Player 03 7       453

在RStudio中,我想拆分这些数据。这是我的代码:

setwd("E:/Data/R/M1UltimateAnalysis")
DATA_SET_MAIN <- read.csv2("data/dataset.csv", header = FALSE)

DATA_SET_LAPS = split(DATA_SET_MAIN,
                      sample(rep(1:3,4)))

DATA_SET_LAP_1 = DATA_SET_LAPS$`1`
write.csv(DATA_SET_LAP_1,
          file="First_lap.csv",
          quote = F,
          row.names = F)

但是拆分的顺序是相当随机的,没有任何标题。

如何在R中做到这一点? 谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用样本函数,在这种情况下,该函数正在加扰rep(1:3,4),这是为拆分函数分配随机的行号以用于排序。

首先,您需要删除带有标题的行。 您可以先将其用作标题 names(DATA_SET_MAIN) <- as.character(DATA_SET_MAIN[1,]) DATA_SET_MAIN <- DATA_SET_MAIN[DATA_SET_MAIN[,1] == '', ]

然后您可以删除第一列:

DATA_SET_MAIN[,1] <- NULL

然后您可以使用分割功能

DATA_SET_LAPS = split(DATA_SET_MAIN,
                  rep(1:3,each = 3))