繁体   English   中英

如何在R的列中操作基本功能?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM