[英]How do I operate basic functions within a column in R?
对于这个问题的措辞不好,我深表歉意,我仍然是R语言的初学者,并且我仍然习惯于正确的术语。 我在下面提供了示例数据:
mydata <- data.frame(x = c(1, 2, 7, 19, 45), y=c(10, 12, 15, 19, 24))
View(mydata)
我的意图是找到x速度,为此,我需要找到1与2、2与7、7与19之间的差,依此类推。 我该怎么做?
您可以使用diff
函数。
> diffs <- as.data.frame(diff(as.matrix(mydata)))
> diffs
x y
1 1 2
2 5 3
3 12 4
4 26 5
> mean(diffs$x)
[1] 11
您可以使用dplyr::lead()
和dplyr::lag()
具体取决于您希望计算如何dplyr::lag()
library(dplyr)
mydata <- data.frame(x = c(1, 2, 7, 19, 45), y=c(10, 12, 15, 19, 24))
View(mydata)
mydata %>%
mutate(x_speed_diff_lead = lead(x) - x
, x_speed_diff_lag = x - lag(x))
# x y x_speed_diff_lead x_speed_diff_lag
# 1 1 10 1 NA
# 2 2 12 5 1
# 3 7 15 12 5
# 4 19 19 26 12
# 5 45 24 NA 26
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.