Я не знаком с датами, но вы можете посмотреть в удовольствие ctions as.Date
или strptime
. Использование data.frame:
df <- data.frame(time = c("0m 22s", "1m 7s", "3m 35s", "11m 43s", "1m 8s", "2m 21s", "9m 33s", "0m 56s", "0m 2s", "0m 2s", "0m 50s", "0m 25s", "0m 33s", "2m 26s", "0m 20s", "1m 47s", "0m 36s", "0m 3s", "0m 2s", "0m 5s"))
df$time.2 <- strptime(df$time, "%Mm %Ss")
теперь вы можете выбрать конкретные значения, просто посмотрите на
attributes(df[, "time.2"])
и назначить
df$min <- df[, "time.2"][["min"]]
df$sec <- df[, "time.2"][["sec"]]
это дает:
R> df
time time.2 min sec
1 0m 22s 2010-12-02 00:00:22 0 22
2 1m 7s 2010-12-02 00:01:07 1 7
3 3m 35s 2010-12-02 00:03:35 3 35
4 11m 43s 2010-12-02 00:11:43 11 43
5 1m 8s 2010-12-02 00:01:08 1 8
6 2m 21s 2010-12-02 00:02:21 2 21
7 9m 33s 2010-12-02 00:09:33 9 33
8 0m 56s 2010-12-02 00:00:56 0 56
9 0m 2s 2010-12-02 00:00:02 0 2
10 0m 2s 2010-12-02 00:00:02 0 2
11 0m 50s 2010-12-02 00:00:50 0 50
12 0m 25s 2010-12-02 00:00:25 0 25
13 0m 33s 2010-12-02 00:00:33 0 33
14 2m 26s 2010-12-02 00:02:26 2 26
15 0m 20s 2010-12-02 00:00:20 0 20
16 1m 47s 2010-12-02 00:01:47 1 47
17 0m 36s 2010-12-02 00:00:36 0 36
18 0m 3s 2010-12-02 00:00:03 0 3
19 0m 2s 2010-12-02 00:00:02 0 2
20 0m 5s 2010-12-02 00:00:05 0 5
EDIT: , поскольку вы хотите разделить data.frame, чтобы иметь возможность рассчитать общую сумму минут, вы даже не можете создавать новые столбцы min
и sec
и можете просто работать со столбцом time.2
. эти два шага уже достаточно
df$time.2 <- strptime(df$time, "%Mm %Ss")
sum(df[, "time.2"][["min"]])
R> [1] 30
Отличное решение! Хотел бы я проголосовать за него больше. Позвольте мне добавить, что я тестировал его на оборванных data.frame с текстовыми столбцами, имеющими различное количество ведущих пробелов, и он работает безупречно. – 2010-12-03 04:11:42