如果一个参与者在不同的行中有多个条目,如何可视化数据?

海伦·安德鲁斯

我目前正在研究一个由多个参与者组成的数据集。一些参与者参加了所有的后续活动,而其他人则跳过了一些后续活动。

例如,在下面的数据集中,参与者 2 仅参与了第 3 次随访,参与者 3 仅参与了第 2 次和第 3 次随访。您还可以看到一些参与者的条目超过 1 行,因为他们有多个跟进。

例子

原始数据集只有第一列和第二列。因为我的目标是创建一个这样的进度表

图表

我尝试使用以下代码为每次访问创建额外的列:

participant <- c(1,1,1,2,3,3,4,5,5,5 )
visit <- c(1,2,3,3,2,3,1,1,2,3)

df <- data.frame(participant, visit)
df[,3] <- as.integer(df$visit=="1")
df[,4] <- as.integer(df$visit=="2")
df[,5] <- as.integer(df$visit=="3")

colnames(df)[colnames(df) %in% c("V3","V4","V5")] <- c(
  "Visit1","Visit2","Visit3")

但是,我仍然很难合并同一参与者的行,因此我无法继续制作图表(我也不知道)。我尝试过“重塑”功能,但没有奏效。group_by 函数也没有工作,仍然显示原始数据集

df1 <- df[,-2]

df1 %>%
  group_by(participant)

我应该将这种情况用于什么功能:

  1. 合并同一参与者的行?
  2. 如何制作进度表?

预先感谢您的帮助!

马丁·盖尔

根据您的情况,df您可以生成图表

library(ggplot2)
library(dplyr)

df %>% 
  ggplot(aes(x = as.factor(visit), 
             y = as.factor(participant), 
             fill = as.factor(visit))) +
  geom_tile(aes(width = 0.7, height = 0.7), color = "black") + 
  scale_fill_grey() +
  xlab("Visit") + 
  ylab("Participants") +
  guides(fill = "none")

在此处输入图片说明

如果您需要宽格式的 data.frame(类似于显示的图像,但每个参与者只有一行),请使用

library(tidyr)
library(dplyr)

df %>% 
  mutate(value = 1) %>% 
  pivot_wider(
    names_from = visit,
    values_from = value,
    names_glue = "Visit{visit}",
    values_fill = 0)

要得到

# A tibble: 5 x 4
  participant Visit1 Visit2 Visit3
        <dbl>  <dbl>  <dbl>  <dbl>
1           1      1      1      1
2           2      0      0      1
3           3      0      1      1
4           4      1      0      0
5           5      1      1      1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一个顺序图中有多个参与者

如果至少有一个OWL或RDFS的共同参与者,则如何表达2个事件是相关的

我在循环中有一个函数,该函数接受当前循环的匹配并返回具有特定名称的参与者。如何避免重复?

当所有参与者的数据都在一起时,我该如何分离参与者的数据?

如何在 PlantUML 序列图中在另一个参与者内部绘制参与者?

如何计算具有多个观察值/行的,在列的不同行中具有值组合的参与者的数量?

如果系统中只有一个参与者(客户端),我应该使用什么架构?

如何用 ID 持有者在另一个变量上的分数替换参与者 ID

带有切片器的Google图表返回:一个或多个参与者未能draw()×

一个或多个参与者无法使用Google仪表板绘制()

在一个绘图中可视化多个数据框列

如何创建两个不同的测试参与者

如何关联和可视化一个变量与多个变量的相关性

如何在 R 中可视化多个分类变量与一个连续变量

如何在 sapply 函数上放置一个循环来为多个参与者创建一个子集?

如何在单独的pdf文件中导出数据框的每一行(参与者)?

当某些组有多个人但另一些只有一个人时,哪种可视化数据更好的方法是什么?

如果参与者不加入,我们如何创建一个不会在创建后 5 分钟内被破坏的 Twilio 视频室?

一个会话中有多个发布者,如何只订阅一个?

Twilio:如何检测会议中有哪个参与者在讲话

一个条目中有多个值

用例图:一个参与者与另一个参与者交流一些东西

如果用户不是参与者或所有者,Azure用户如何创建资源组?

如何在R中创建一个函数以计算纵向研究参与者的每周调查?

参与者如何使用 tidyverse 将第一行中的值应用于所有后续行

一个HTML文档中的多个d3可视化

如何在D3中可视化具有不同输入文件的多个图形?

如果多个列中的任何一个在Pandas中有重复的行,则删除行

可视化具有多个节点的分层数据