Ich möchte eine Funktion, die in einer Spalte als Zeichenfolge gespeichert ist, auf einen Wert in einer anderen Spalte mit dplyr anwenden. Ich habe mehrere Dinge mit mutate_
und einem .dots
Argument versucht, aber ich bin jetzt stecken.R dplyr: Verwenden Sie die Funktion als Zeichenfolge in einer Spalte in der nächsten Spalte
library(lubridate)
library(dplyr)
df <- data.frame(date=as.POSIXct('2017/01/01 12:34') + 1:10*123456,
fun=rep(c('minute','hour','day','month','year'),2))
Eingang:
> df
date fun
1 2017-01-02 22:51:36 minute
2 2017-01-04 09:09:12 hour
3 2017-01-05 19:26:48 day
4 2017-01-07 05:44:24 month
5 2017-01-08 16:02:00 year
6 2017-01-10 02:19:36 minute
7 2017-01-11 12:37:12 hour
8 2017-01-12 22:54:48 day
9 2017-01-14 09:12:24 month
10 2017-01-15 19:30:00 year
Ausgang:
date fun res
1 2017-01-02 22:51:36 minute 51
2 2017-01-04 09:09:12 hour 9
3 2017-01-05 19:26:48 day 5
4 2017-01-07 05:44:24 month 1
5 2017-01-08 16:02:00 year 2017
6 2017-01-10 02:19:36 minute 19
7 2017-01-11 12:37:12 hour 12
8 2017-01-12 22:54:48 day 12
9 2017-01-14 09:12:24 month 1
10 2017-01-15 19:30:00 year 2017
Obwohl ich auch alle anderen Antworten mag, kommt mir das am nächsten, was ich anfangs dachte. – Wietze314