Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 比较两个向量并计算对应元素的差异_R - Fatal编程技术网

R 比较两个向量并计算对应元素的差异

R 比较两个向量并计算对应元素的差异,r,R,我在R中定义了一个生灭过程,它可以是0、1、2和3的状态。我有一个向量“state”,列出了状态发生的顺序,还有一个向量“time”,列出了这些状态变化发生的时间 假设向量看起来像: state <- c(0, 1, 0, 1, 2, 1, 0, 1, 2, 3) time <- c(0.00, 0.03, 0.12, 0.78, 0.87, 0.94, 0.97, 1.18, 1.23, 1.30) state计算每个元素之间的差值,以获得相应状态下的时间,然后按状态排序的时间求

我在R中定义了一个生灭过程,它可以是0、1、2和3的状态。我有一个向量“state”,列出了状态发生的顺序,还有一个向量“time”,列出了这些状态变化发生的时间

假设向量看起来像:

state <- c(0, 1, 0, 1, 2, 1, 0, 1, 2, 3)
time <- c(0.00, 0.03, 0.12, 0.78, 0.87, 0.94, 0.97, 1.18, 1.23, 1.30)

state计算每个元素之间的差值,以获得相应状态下的时间,然后按状态排序的时间求和

state <- c(0, 1, 0, 1, 2, 1, 0, 1, 2, 3)
time <- c(0.00, 0.03, 0.12, 0.78, 0.87, 0.94, 0.97, 1.18, 1.23, 1.30)

df <- data.frame(state=state,time=time)
df$diff <- c(diff(df$time),0)

tim.p.state <- data.frame(time=sapply(split(df,df$state),function(df){return(sum(df$diff))}))
tim.p.state$proportion <- tim.p.state$time/time[length(time)]


state计算每个元素之间的差值,以获得相应状态下的时间,然后按状态排序的时间求和

state <- c(0, 1, 0, 1, 2, 1, 0, 1, 2, 3)
time <- c(0.00, 0.03, 0.12, 0.78, 0.87, 0.94, 0.97, 1.18, 1.23, 1.30)

df <- data.frame(state=state,time=time)
df$diff <- c(diff(df$time),0)

tim.p.state <- data.frame(time=sapply(split(df,df$state),function(df){return(sum(df$diff))}))
tim.p.state$proportion <- tim.p.state$time/time[length(time)]


感谢您提供示例数据。到目前为止,您尝试了什么?这是一个家庭作业问题:感谢包含示例数据。到目前为止你都试了些什么?这是家庭作业问题吗