我正在处理具有多个标头的一组数据:
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中做到这一点? 谢谢。
答案 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))