我已经以这种形式导入数据:
Sample1 Sample2 Identity
1 2 chr11-50-T
3 4 chr11-200-A
v <- read.table("myfile", header = TRUE)
我有一个看起来像这样的矢量:
x <- c(50,100)
如果没有其他一些美学内容,我正在绘制第1列与第2列标记为第3列的内容。
p <- ggplot(v, aes(x=sample1, y=sample2, alpha=0.5, label=identity)) +
geom_point() +
geom_text_repel(aes(label=ifelse(sample2>0.007 |sample1>0.007 ,as.character(identity),''))) +
我想以某种方式指出那些包含ID的数字的点,在向量x
中找到。我认为这可以用颜色来完成,但只要两种类型的点之间存在差异,这对我来说并不重要。
因此,例如,如果x
中包含数字的点为红色,则第一个点为红色,因为ID中有50
而第二个点不是,因为200
中的x
不是值{。}}。
答案 0 :(得分:1)
您可以将TRUE/FALSE
值添加为列,并将其用作颜色。我必须删除label = ...
个,因为aes
中的ggplot2
不是aes(alpha = 0.5)
。此外,一切都是透明的,因为您使用library(ggrepel)
library(ggplot2)
vafs$col <- grepl(paste0(x,collapse = "|"), vafs$Identity)
p <- ggplot(vafs, aes(x=Sample1, y=Sample2, alpha=0.5, color = col)) +
geom_point() +
geom_text_repel(aes(label=ifelse(Sample2>0.007 |Sample1>0.007 ,as.character(Identity),'')))
:
{{1}}
答案 1 :(得分:1)
我提出了以下解决方案:
double operator[](int j)
{
auto dataFunc = std::bind(data, lp, _1, _2);
return dataFunc(i, j);
}