首页 > 解决方案 > 为 RStudio 中的每个参与者创建每个参与者 ID 的列表,其中包含 3 个数据框

问题描述

我对 R 和 RStudio 非常陌生,所以如果这是一个愚蠢的问题,我很抱歉!

我有一个包含 3 列的 excel 文件:PID(参与者 ID)、Cond、Time 和 Correct。每个 PID 有 150 次试验(因此对 3 种不同条件有 150 种不同的反应时间,并且它们的反应是正确的或不正确的)(参见 Excel 文件的图像)。

我想将这些导入 RStudio,但要组织数据,使每个 PID 都是一个列表。在每个 PID 列表中,我想要 3 个数据帧,其中包括该特定 PID 的相应条件、时间和正确响应。

这是我希望数据在 RStudio 中看起来的样子(参见 R 中示例数据的图像)。

有谁知道在将 .csv 文件读入 R Studio 后如何重新排列数据使其看起来像这样?

任何帮助将非常感激!

我希望数据在组织后的样子

在此处输入图像描述

我的数据如何组织为 .csv 文件的图片

在此处输入图像描述

标签: r

解决方案


您可以尝试使用splitlapply获取所需形式的数据。

df <- data.frame(PID = rep(1:4, each = 3), Cond = sample(3, 12, replace = TRUE),
                 Time = rnorm(12), Correct = sample(2, 12, replace = TRUE))

result <- lapply(split(df, df$PID), function(x) as.list(x[-1]))
View(result)

在此处输入图像描述


推荐阅读