我正在尝试创建一个包含两列(ID、条件)的数据框。每个ID都与8个条件相关联。 ID 从 s009 开始,范围到 s050。对于每个 ID,我都会有相同的条件。我提供了一组我要创建的示例以供引用。我将非常感谢任何对此的帮助。提前致谢!
ID Condition
s009 Baseline
s009 Meditation
s009 Practice
s009 Creativity
s009 Preblock 1
s009 Postblock 1
s009 Preblock 2
s009 Postblock 2
s010 Baseline
s010 Mediation
s010 Practice
s010 Creativity
s010 Preblock 1
s010 Postblock 1
s010 Preblock 2
s010 Postblock 2
s011 Baseline
...
最佳答案
一个选项是来自base R
的expand.grid
(不使用任何外部包)
df1 <- expand.grid(ID = v1, Condition = v2)
或者使用data.table
library(data.table)
CJ(ID = v1, Condition = v2)
# ID Condition
# 1: s009 Baseline
# 2: s009 Creativity
# 3: s009 Meditation
# 4: s009 Postblock 1
# 5: s009 Postblock 2
# ---
#332: s050 Postblock 1
#333: s050 Postblock 2
#334: s050 Practice
#335: s050 Preblock 1
#336: s050 Preblock 2
或者使用tidyverse
library(tidyverse)
tibble(ID = v1) %>%
expand(ID, Condition = v2)
# A tibble: 336 x 2
# ID Condition
# <chr> <chr>
# 1 s009 Baseline
# 2 s009 Creativity
# 3 s009 Meditation
# 4 s009 Postblock 1
# 5 s009 Postblock 2
# 6 s009 Practice
# 7 s009 Preblock 1
# 8 s009 Preblock 2
# 9 s010 Baseline
#10 s010 Creativity
# … with 326 more rows
哪里
v1 <- sprintf("s%03d", 9:50)
v2 <- c("Baseline", "Meditation", "Practice", "Creativity",
"Preblock 1", "Postblock 1", "Preblock 2", "Postblock 2")
关于r - 我将如何创建这个数据框?我需要使用嵌套 for 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55944623/