Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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,我有一个这样的数据框 node <- c("ABC_Amod_wdm-1/1/10/1","ABC_Amod_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arva

我有一个这样的数据框

node <- c("ABC_Amod_wdm-1/1/10/1","ABC_Amod_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1","ABC_Arvali_wdm-1/1/10/1")
activity <- c("LOSS_OF_MULTIPLEX_SECTION-OMS_A","LOSS_OF_MULTIPLEX_SECTION-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","LOSS_OF_SIGNAL-OTS","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","LOSS_OF_MULTIPLEX_SECTION-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A","UNDERLYING_RESOURCE_UNAVAILABLE-OMS_A")
time <- c("2020-05-09 04:50:42","2020-05-09 06:16:54","2020-05-09 09:30:49","2020-05-09 13:33:20","2020-05-10 20:01:10","2020-05-10 20:01:11","2020-05-10 20:35:24","2020-05-11 16:33:31","2020-05-16 13:40:29","2020-05-16 14:39:00","2020-05-16 15:12:52","2020-05-18 17:12:57")

df <- data.frame(node, activity, time)
df
节点%
dplyr::选择(-time)%>%
na.省略()

但是这个并没有给我一个期望的输出。它仍然是n个节点,我需要n-1个节点。

您可以将
时间
保留为数字格式,
排列
数据并删除
NA

library(dplyr)

df %>%
  arrange(node, time) %>%
  group_by(node) %>%
  mutate(nextactivity = lead(activity)) %>%
  ungroup %>%
  dplyr::select(-time) %>%
  na.omit()

# node  activity nextactivity
#  <chr> <chr>    <chr>       
#1 A     cdf      abc         
#2 A     abc      nop         
#3 A     nop      ghi         
#4 A     ghi      jkm         
#5 B     tuv      pqr         
库(dplyr)
df%>%
排列(节点、时间)%>%
分组依据(节点)%>%
突变(nextractivity=铅(活性))%>%
解组%>%
dplyr::选择(-time)%>%
na.省略()
#节点活动性
#              
#1 cdf abc
#2 A abc nop
#3 A nop ghi
#4 A ghi jkm
#5 B tuv pqr

当我为原始数据集运行此代码时,它仍然没有分组。那么,您对可能已加载的
plyr
部件的分组(节点)有何建议。尝试使用具有包名称的函数
dplyr::group_by
dplyr::mutate
。它仍然不起作用。我已经添加了问题注释部分这对您在问题中提供的示例数据有效吗?没有,我已经编辑了我的问题。通过我的原始数据集。你能检查一下吗?到底什么对你不起作用?当我在你的新数据上尝试我的答案时,它似乎起作用了。你们能展示你们得到的输出和你们期望的输出吗?是的,它在R上工作,但在R云上不工作。预期输出是当我们在R output上运行此代码时,您是否将结果分配回对象<代码>df%排列(节点,时间)%%>%分组依据(节点)…是。但输出是相同的,因为这是R-cloud特有的问题。这对我来说就像RStudio中所期望的那样。我希望您在所有代码中都使用了
dplyr::groupby
dplyr::mutate
library(dplyr)

df %>%
  arrange(node, time) %>%
  group_by(node) %>%
  mutate(nextactivity = lead(activity)) %>%
  ungroup %>%
  dplyr::select(-time) %>%
  na.omit()

# node  activity nextactivity
#  <chr> <chr>    <chr>       
#1 A     cdf      abc         
#2 A     abc      nop         
#3 A     nop      ghi         
#4 A     ghi      jkm         
#5 B     tuv      pqr