gpt4 book ai didi

r - 如何绘制带有 NA 条目的线图?

转载 作者:行者123 更新时间:2023-12-02 16:36:07 26 4
gpt4 key购买 nike

R 中使用 ggplot2 一次绘制多个变量时,如何省略 NA 条目以便连接线图?

如您所见,我的数据集充满了 NA 条目。 (我正在使用我的举重训练来学习如何使用 R。因为我每次锻炼都没有做相同的练习,所以我一定有 NA 条目。)我知道我可以省略带有 NA 条目的行,但这会删除我的数据框中的每一行。

是否可以将我的数据框绘制为没有换行符的连续线图?

ss <- structure(list(date = structure(c(18421, 18423, 18425, 18428, 
18431, 18435), class = "Date"), bw = c(NA, NA, NA, 95.4, NA,
NA), squat = c(40, 42.5, 45, 47.5, 50, 52.5), deadlift = c(60,
NA, 62.5, 65, 67.5, 70), press = c(25, NA, 27.5, NA, 30, NA),
bench = c(NA, 40, NA, 42.5, NA, 45), chinup = c(NA, NA, NA,
NA, NA, NA), clean = c(NA, NA, NA, NA, NA, NA)), row.names = c(NA,
-6L), class = "data.frame")

这是我到目前为止编写的代码。首先,我尝试使用 tidyverse 清理我的数据。然后我想在一个 ggplot 中绘制数据集。

ss <- ss %>%
select(date, bw, squat, deadlift, press, bench, chinup, clean) %>%
gather(key = "lift", value = "weight", -date, -bw)

ggplot(ss, aes(x = date, y = weight)) +
geom_point(aes(color = lift)) +
geom_line(aes(color = lift, linetype = lift))

My plot as of now. Oh the gaps!...

最佳答案

在使用 filter(!is.na(weight) 收集后简单地删除 NA:

library(dplyr)
library(tidyr)
library(ggplot2)

ss <- ss %>%
select(date, bw, squat, deadlift, press, bench, chinup, clean) %>%
gather(key = "lift", value = "weight", -date, -bw) %>%
filter(!is.na(weight))

ggplot(ss, aes(x = date, y = weight)) +
geom_point(aes(color = lift)) +
geom_line(aes(color = lift, linetype = lift))

关于r - 如何绘制带有 NA 条目的线图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62704856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com