facet_grid,图中额外的非预期NA线

q5iwbnjs  于 2023-05-26  发布在  其他
关注(0)|答案(2)|浏览(169)

我正在使用ggplot2facet_grid函数创建一个图,其中每个面板都由一个散点图组成,其中有5个变量的连接线。我的数据可以找到here。我使用引用链接中的代码创建了下面的输出。

library(tidyverse)
library(ggplot2)
p<-2.5    #PointSize
lw<-0.7  #Lineweight

plot_data %>%
  mutate(across(where(is.character),
                ~parse_number(.x, locale = locale(decimal_mark = ",")))) %>%
  pivot_longer(-c(Ausfallrate, AnzahlJ, AnzahlI),
               names_to = "Type",
               values_to = "PFC") %>%
  mutate(Type = factor(Type, levels = c("PFC_RIMCA", "PFC_MIMCA", "PFC_Hot", "PFC_Mode"))) %>%
  ggplot(aes(x = Ausfallrate, y = PFC,
             group = Type, color = Type,
             shape = Type)) +
  geom_point(size=p) +
  geom_line(linewidth=lw) +
  facet_grid(rows = vars(AnzahlI), cols = vars(AnzahlJ),
             labeller = labeller(
               AnzahlJ = c(`4` = "J=4", `7` = "J=7", `10` = "J=10"),
               AnzahlI = c(`100` = "I=100", `500` = "I=500", `1000` = "I=1000")
             )) +
  
  
  scale_color_manual(values = c("blue", "black", "red", "orange"),
                     labels = c("RIMCA", "MIMCA", "Hotdeck", "Mode")) +
  scale_shape_manual(values = c(15, 16, 17,18),
                     labels = c("RIMCA", "MIMCA", "Hotdeck", "Mode"))

不知何故,从某个地方找到了另一个NA变量。我需要摆脱它,但不知道问题出在哪里。有人能帮忙吗?
以下是plot_data

dput(plot_data)
structure(list(AnzahlI = c(100L, 100L, 100L, 100L, 100L, 100L, 
100L, 100L, 100L, 100L, 100L, 100L, 100L, 100L, 100L, 500L, 500L, 
500L, 500L, 500L, 500L, 500L, 500L, 500L, 500L, 500L, 500L, 500L, 
500L, 500L, 1000L, 1000L, 1000L, 1000L, 1000L, 1000L, 1000L, 
1000L, 1000L, 1000L, 1000L, 1000L, 1000L, 1000L, 1000L), AnzahlJ = c(4L, 
4L, 4L, 4L, 4L, 7L, 7L, 7L, 7L, 7L, 10L, 10L, 10L, 10L, 10L, 
4L, 4L, 4L, 4L, 4L, 7L, 7L, 7L, 7L, 7L, 10L, 10L, 10L, 10L, 10L, 
4L, 4L, 4L, 4L, 4L, 7L, 7L, 7L, 7L, 7L, 10L, 10L, 10L, 10L, 10L
), Ausfallrate = c("0,1", "0,2", "0,3", "0,4", "0,5", "0,1", 
"0,2", "0,3", "0,4", "0,5", "0,1", "0,2", "0,3", "0,4", "0,5", 
"0,1", "0,2", "0,3", "0,4", "0,5", "0,1", "0,2", "0,3", "0,4", 
"0,5", "0,1", "0,2", "0,3", "0,4", "0,5", "0,1", "0,2", "0,3", 
"0,4", "0,5", "0,1", "0,2", "0,3", "0,4", "0,5", "0,1", "0,2", 
"0,3", "0,4", "0,5"), PFC_RIMCA = c("0,563333333", "0,564166667", 
"0,555833333", "0,556875", "0,582833333", "0,556666667", "0,565", 
"0,573809524", "0,565595238", "0,581619048", "0,559333333", "0,556833333", 
"0,563888889", "0,571583333", "0,577266667", "0,5465", "0,541916667", 
"0,575666667", "0,55675", "0,538966667", "0,540857143", "0,539095238", 
"0,547333333", "0,545833333", "0,548038095", "0,530466667", "0,535966667", 
"0,543666667", "0,5506", "0,553253333", "0,536833333", "0,549166667", 
"0,5505", "0,554958333", "0,544383333", "0,53152381", "0,537309524", 
"0,543063492", "0,54272619", "0,555428571", "0,5348", "0,53255", 
"0,535955556", "0,540391667", "0,545173333"), PFC_MIMCA = c("0,630833333", 
"0,60375", "0,592222222", "0,599375", "0,6145", "0,593809524", 
"0,608809524", "0,614920635", "0,603690476", "0,620666667", "0,608666667", 
"0,613", "0,613444444", "0,608416667", "0,612133333", "0,607333333", 
"0,599833333", "0,632055556", "0,610416667", "0,591366667", "0,599619048", 
"0,597142857", "0,601111111", "0,59797619", "0,600971429", "0,597133333", 
"0,599466667", "0,597577778", "0,5998", "0,606866667", "0,588666667", 
"0,606666667", "0,609277778", "0,613791667", "0,60575", "0,59", 
"0,59002381", "0,600587302", "0,597916667", "0,606533333", "0,597566667", 
"0,596083333", "0,596155556", "0,596308333", "0,60184"), PFC_Hot = c("0,643333333", 
"0,640416667", "0,622222222", "0,631875", "0,653", "0,633809524", 
"0,634761905", "0,652539683", "0,629642857", "0,643333333", "0,635666667", 
"0,644666667", "0,633666667", "0,636416667", "0,641266667", "0,6455", 
"0,634583333", "0,659277778", "0,6425", "0,620333333", "0,636285714", 
"0,642047619", "0,646253968", "0,64002381", "0,630419048", "0,641133333", 
"0,634033333", "0,64", "0,63995", "0,647226667", "0,646333333", 
"0,645666667", "0,645722222", "0,643875", "0,62955", "0,633", 
"0,639547619", "0,64615873", "0,637964286", "0,643704762", "0,640633333", 
"0,640116667", "0,6407", "0,64115", "0,64124"), PFC_Mode = c("0,581666667", 
"0,56625", "0,563333333", "0,568125", "0,589", "0,55952381", 
"0,572142857", "0,586507937", "0,578214286", "0,592380952", "0,574333333", 
"0,584333333", "0,584333333", "0,5835", "0,579066667", "0,571", 
"0,56275", "0,5965", "0,577625", "0,548633333", "0,572285714", 
"0,572", "0,573365079", "0,5665", "0,566304762", "0,577333333", 
"0,5648", "0,5724", "0,575033333", "0,575933333", "0,562333333", 
"0,571583333", "0,573361111", "0,570458333", "0,5612", "0,558190476", 
"0,564785714", "0,571412698", "0,5665", "0,575847619", "0,57", 
"0,570233333", "0,567988889", "0,57115", "0,57254"), cc_diff_RIMCA = c("0,016528237", 
"0,025934539", "0,03559416", "0,069072125", "0,087847325", "0,009451442", 
"0,02369628", "0,032719389", "0,064947858", "0,091211577", "0,005946948", 
"0,013185638", "0,036080129", "0,06025874", "0,066632947", "0,012914223", 
"0,023702775", "0,039843616", "0,06040054", "0,063749967", "0,007026154", 
"0,021995608", "0,033452241", "0,060813706", "0,085071365", "0,004470022", 
"0,017360614", "0,036334928", "0,0491142", "0,073710424", "0,012166285", 
"0,026675009", "0,042073547", "0,041188709", "0,072048482", "0,006813497", 
"0,023293807", "0,035572192", "0,054865359", "0,079219827", "0,004764175", 
"0,015975069", "0,039399602", "0,059756861", "0,086189557"), 
    cc_diff_MIMCA = c("0,008545089", "0,015279067", "0,018147053", 
    "0,026763839", "0,028825688", "0,006160887", "0,009635058", 
    "0,016014299", "0,014905519", "0,024981289", "0,007759461", 
    "0,009700148", "0,0123199", "0,014196057", "0,022884173", 
    "0,008541805", "0,011543938", "0,015185342", "0,020074829", 
    "0,016130154", "0,009285704", "0,012433618", "0,01984776", 
    "0,02179954", "0,024935798", "0,011110233", "0,017876001", 
    "0,021299103", "0,029435958", "0,032467425", "0,005384345", 
    "0,015501999", "0,016597473", "0,023077679", "0,028536851", 
    "0,009496166", "0,015289784", "0,020632933", "0,024426068", 
    "0,028279466", "0,011199897", "0,02244712", "0,025014936", 
    "0,030655453", "0,032333572"), cc_diff_Hot = c("0,010765516", 
    "0,019730651", "0,024960187", "0,02336593", "0,025591872", 
    "0,014072627", "0,016426783", "0,022864375", "0,019199046", 
    "0,017847501", "0,014007075", "0,022555706", "0,021563287", 
    "0,017163961", "0,017292924", "0,018236147", "0,02932634", 
    "0,042508327", "0,036968754", "0,03721095", "0,022123463", 
    "0,036240424", "0,049441243", "0,056345175", "0,049245249", 
    "0,021739254", "0,037769794", "0,050983614", "0,05878995", 
    "0,06252088", "0,018921326", "0,033435539", "0,045997301", 
    "0,04875047", "0,057026373", "0,021594149", "0,039504864", 
    "0,054880791", "0,062405997", "0,069283829", "0,023218275", 
    "0,042964265", "0,058280896", "0,070107116", "0,075758943"
    ), cc_diff_Mode = c("0,010885531", "0,021434552", "0,024906295", 
    "0,026682435", "0,04532522", "0,013263649", "0,01848612", 
    "0,031707821", "0,033248562", "0,042412284", "0,013806178", 
    "0,023211061", "0,031983334", "0,037675067", "0,04441961", 
    "0,014890828", "0,025749512", "0,038202813", "0,043842752", 
    "0,044076137", "0,018073945", "0,030476078", "0,047319344", 
    "0,057618151", "0,060244362", "0,018545751", "0,033355492", 
    "0,050042107", "0,061065109", "0,073070392", "0,015159231", 
    "0,02912201", "0,039967542", "0,048058626", "0,057664487", 
    "0,017693066", "0,034957187", "0,049530579", "0,061383424", 
    "0,072409922", "0,019670343", "0,037953013", "0,053566002", 
    "0,066653289", "0,079602554")), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -45L))
r1wp621o

r1wp621o1#

如果将

plot_data %>%
  mutate(across(where(is.character),
                ~parse_number(.x, locale = locale(decimal_mark = ",")))) %>%
  pivot_longer(-c(Ausfallrate, AnzahlJ, AnzahlI),
               names_to = "Type",
               values_to = "PFC") %>% View()

plot_data %>%
  mutate(across(where(is.character),
                ~parse_number(.x, locale = locale(decimal_mark = ",")))) %>%
  pivot_longer(-c(Ausfallrate, AnzahlJ, AnzahlI),
               names_to = "Type",
               values_to = "PFC") %>% 
  mutate(Type = factor(Type, levels = c("PFC_RIMCA", "PFC_MIMCA", "PFC_Hot", "PFC_Mode"))) %>% View()

您将看到原始数据中以cc_diff开头的列的变量Map到NA,因为这不是Type的因子水平之一。我建议将这些数据添加到因子类型中,但从您的代码中我发现您可能希望完全忽略这些数据。因此,接下来的步骤取决于您正在做的事情,但这解决了图中的NA线。

fwzugrvs

fwzugrvs2#

你可以在ggplot输入数据之前先filter(!is.na(Type))

相关问题