如何根据通配符绘图

时间:2018-09-16 21:47:02

标签: r

我有如下数据:

A 2 3 LOGIC:A
B 3  3 LOGIC:B
C 2 2 COMBO:A

plot(Data$V2[Data$V4 == "LOGIC:A"], DATA$V3[Data$V4 == "LOGIC:A"])

但是无论何时我想在第4列为LOGIC时进行绘图,当我在plot命令中提供“ LOGIC”时,它都应同时绘图“ LOGIC:A”和“ LOGIC:B”。现在,它仅接受确切的第4列值。我可以使用通配符吗?

2 个答案:

答案 0 :(得分:3)

您可以使用grepl查找出现的字符串。

x <- c("LOGIC: A", "COMBO: B")
x[grepl("LOGIC", x)]
[1] "LOGIC: A"

答案 1 :(得分:0)

使用结尾处的注释中可重复显示的Data,将使用冒号后的字符表示点,从而绘制V4包含子字符串LOGIC的行。如果希望所有点都用相同的字符表示,请省略pch中的plot参数。

plot(V3 ~ V2, Data, subset = grep("LOGIC", V4),  pch = sub("LOGIC:", "", V4))

screenshot

注意

Lines <- "A 2 3 LOGIC:A
B 3  3 LOGIC:B
C 2 2 COMBO:A"
Data <- read.table(text = Lines, as.is = TRUE, strip.white = TRUE)