R语言桑基图:如何移除无数值的Source 0节点?
移除桑基图数据中无值的Source=0条目(R语言)
先把你的示例数据转成R可直接使用的数据框:
df <- data.frame( Source = c(0,0,0,0,1,1,1,1), Target = c(0,1,2,3,0,1,2,3), Value = c(0,0,0,0,23324,5465,3234,2423423) )
下面两种方法都能快速移除所有Source=0且Value=0的行,同时保留其他有实际数值的有效条目:
方法1:Base R原生过滤
直接用索引筛选符合条件的行:
df_clean <- df[!(df$Source == 0 & df$Value == 0), ]
逻辑很直白:排除掉“Source等于0且Value等于0”的行,剩下的就是干净的可用数据。
方法2:dplyr包过滤(tidyverse风格)
如果习惯用tidyverse系列工具,代码更简洁直观:
library(dplyr) df_clean <- df %>% filter(!(Source == 0 & Value == 0))
过滤后的结果会自动剔除所有无效的Source=0行,同时保留像Source=1, Target=0, Value=23324这类有实际数值的条目,完全不影响后续桑基图的绘制。
内容的提问来源于stack exchange,提问作者findingnemo
相关产品推荐
相关产品推荐

