I have a dataset that looks like this
head(dataset)
Distance Lag time Kurtosis
7.406100 10
144.1700 1
77.31800 1
81.15400 1
4.249167 6
I want to add values to the kurtosis column. To calculate kurtosis I need to group the Distances by Lag time (i.e., all distances for Lag time 1 will give me one value for kurtosis etc.). To get kurtosis I usually use the package "psych" and function describe() Is there a kind of loop I could add to do this?
Since describe
produces a dataframe as output and what you want is just one column (also named kurtosis) you'll need to subset the describe
output
library(dplyr)
library(psych)
df %>%
group_by(Lag_Time) %>%
mutate(Kurtosis = describe(Distance)[1,"kurtosis"])
Distance Lag_Time Kurtosis
<dbl> <dbl> <dbl>
1 7.41 10 NA
2 144. 1 -2.33
3 77.3 1 -2.33
4 81.2 1 -2.33
5 4.25 6 NA