我想在R中编写一个函数,该函数可以比较两个不等的数据框,并根据比较结果修改第一个数据框的内容
static_graph_DF = data.frame(node= #10000 nodes#, label = rep("suceptible",10000))infecteNodes_DF = data.frame(node=#random 1000 nodes from the above mentioned nodes #, label = rep("infected",1000))
我想做的是,找出static_graph_DF中被感染的节点(即通过检查infecteNodes_DF是否在static_graph_DF中),并将static_graph_DF的标签从”susceptible”替换为”infected”。
我知道可以使用merge()、%in%、match()函数来编写这个函数,但我仍然卡在这个函数上,无法继续进行。
回答:
对于node
为数值类型的情况,不需要函数。
levels(static_graph_DF$label) <- c("suceptible","infected")static_graph_DF$label[infecteNodes_DF$node] <- "infected"