2014-11-14 35 views
0

我想在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)) 

我想要做的是,找到被感染(通过检查infecteNodes_DF是否static_graph_DF IE)在static_graph_DF节点和更换static_graph_DF的标签“敏感”到“感染” 。

我知道,使用合并(),在%,匹配()功能%,我可以写的功能,但我仍坚持这一功能,并不能继续。

回答

0

对于数字类型node,没有必要的功能。

levels(static_graph_DF$label) <- c("suceptible","infected") 
static_graph_DF$label[infecteNodes_DF$node] <- "infected" 
+0

我收到以下错误消息,而这样做“的警告信息: 在'[< - factor'('* TMP *',感染$ infected_nodes,值= C(NA,: 无效的因素水平,NA生成“ – Jeremy 2014-11-14 22:14:30

+0

我试过你的解决方案为较小的数据集,long <-data.frame(UniqID = sample(letters [1:20],20),label = rep(”sus“,20)) short < data.frame(UniqID = sample(letters [1:20],10),label = rep(“inf”,10))long $ label [short $ UniqID] =“inf”但是它不起作用,给出了相同的以上错误您可以使用此数据集来检查您的解决方案 – Jeremy 2014-11-14 22:16:56

+0

修改第一条语句以使用您的级别名称查看“帮助(级别)”以了解更多详细信息为什么 – vpipkt 2014-11-14 22:20:13