如何在R中检测和组合向量中的元素?
我有一个包含许多元素的数据列表,其中我只需要'interval..s'(关于持续时间)和'ActivityCode'(0到5)列,请参见图片()。 我尝试从列“interval..s”中提取列“ActivityCode”中的所有0和5及其相应的值。如何在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 = "
我已经编写了一个代码来提取活动代码为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