如何在R中检测和组合向量中的元素?

如何在R中检测和组合向量中的元素?,r,sum,element,R,Sum,Element,我有一个包含许多元素的数据列表,其中我只需要'interval..s'(关于持续时间)和'ActivityCode'(0到5)列,请参见图片()。 我尝试从列“interval..s”中提取列“ActivityCode”中的所有0和5及其相应的值。 我已经编写了一个代码来提取活动代码为0和5的回合持续时间(来自“interval..s”列),但是当0和5是两个连续回合时,回合持续时间应该求和 setwd("/Users/lucp9693/Desktop/csvfolder") mydir = "

我有一个包含许多元素的数据列表,其中我只需要'interval..s'(关于持续时间)和'ActivityCode'(0到5)列,请参见图片()。 我尝试从列“interval..s”中提取列“ActivityCode”中的所有0和5及其相应的值。
我已经编写了一个代码来提取活动代码为0和5的回合持续时间(来自“interval..s”列),但是当0和5是两个连续回合时,回合持续时间应该求和

setwd("/Users/lucp9693/Desktop/csvfolder")
mydir = "csvfolder"
myfiles = list.files(path = mydir, pattern = ".csv",full.names = TRUE)
setwd("/Users/lucp9693/Desktop/csvfolder")
list.files(pattern = ".csv$")
list.filenames = list.files(pattern = ".csv$")
list.data = list()
ind = 0
result = vector("numeric",length(list.filenames))
for(i in 1:length(list.filenames))
{
  ind = ind +1
  list.data[[i]] = read.csv(list.filenames[i])
  document = read.csv(list.filenames[i],header = TRUE, sep = ",")
  W = document$Interval..s.[bestand$ActivityCode..0.sedentary.1.standing.2.stepping.2.1.cycling.3.1.primary.lying..3.2.secondary.lying.4.non.wear.5.travelling.==0]

有没有可能这样做?谢谢

以下是我对你的问题的解读(带有一些样本数据):

这就是你想要的吗

library(dplyr)
library(tidyr)
library(tibble)

data <- tibble(
  Interval = round(runif(n = 100, min = 1, max = 1000), 1),
  ActivityCode = round(runif(n = 100, min = 0, max = 5),0)
)

data <- data %>%
  filter(ActivityCode == 0 | ActivityCode == 5) %>%
  mutate(sum = ifelse(ActivityCode == lag(ActivityCode, 1),Interval + lag(Interval, 1), Interval))
> print.data.frame(data)
   Interval ActivityCode    sum
1      87.1            0     NA
2      38.7            0  125.8
3     843.1            5  843.1
4     680.6            5 1523.7
5     151.3            5  831.9
6      37.8            0   37.8
7     539.6            0  577.4
8     978.6            5  978.6
9     140.0            5 1118.6
10    145.1            5  285.1
11    252.5            0  252.5
12     90.0            0  342.5
13    588.8            5  588.8
14    459.1            0  459.1