Я хочу написать код, который будет создавать отдельные столбцы часов и минут в каждом из 13 фреймов данных, которые содержат столбец с именем «DateTimeDur». Поскольку в будущем мне, вероятно, понадобится выполнить другие операции с каждым из этих наборов данных, я хотел бы создать простой блок кода, который будет выполнять любые операции над каждым набором. В частности, мне нужно получить цикл for для добавления столбцов в каждый набор.
Сначала я помещаю все свои наборы данных в список dflist, затем приступаю к созданию цикла for, где время в форме "чч: мм: сс прочее бессмысленно " создает столбец для часов, а другой столбец на минуты. Это работает, если я делаю это для какого-либо одного набора данных, но я не могу заставить его работать в цикле for для всех наборов данных в dflist. Он не выдает никаких ошибок - просто не может добавить столбцы «час» и «минута» к каждому, как я ожидаю ...
dflist <- c(FAT1, FAT2, FAT3, FAT4, FAT5, FAT6, FAT7, FAT8, FAT9, FAT10, FAT11, FAT12, FAT13)
Time <- Time2 <- TimeMin <- vector("list", length(FAT1$RecNumber))
for(i in dflist){
Time <- factor(i["TimeDateDura"])
Time2 <- strptime(Time, "%H:%M:%S")
TimeHr <- format(Time2, "%H")
TimeMin <- format(Time2, "%M")
i["hour"] <- TimeHr
i["min"] <- TimeMin
}
Типичный набор данных (FAT1 и т. Д.) Выглядит следующим образом:
RecNumber Label Fat Lean FreeWater TotalWater TimeDateDura Accumulation Weight Comments
1 87001 1.47 11.19 0.05 9.46 09:31:02 Jan 30, 2018; 78; 1 0 NA
2 87002 1.46 11.39 0.07 10.07 09:33:10 Jan 30, 2018; 79; 1 0 NA
3 87003 1.13 10.43 0.15 9.23 09:35:21 Jan 30, 2018; 101; 1 0 NA