我的数据结构如下:
Name Drill Movement Repetition DV
1 RUTH 90_Turn Sprint 1 10
2 RUTH 90_Turn Sprint 1 12
2 RUTH 90_Turn Sprint 2 12
2 RUTH 90_Turn Sprint 2 9
3 RUTH 90_Turn Sprint 3 14
3 RUTH 90_Turn Sprint 3 12
4 RUTH 90_Turn Walk 1 13
4 RUTH 90_Turn Walk 1 17
5 RUTH 90_Turn Walk 2 11
5 RUTH 90_Turn Walk 2 15 我想在列Trial中添加一个包含Movement和Repetition的每个唯一组合的代码,例如:
Name Drill Movement Repetition DV Trial
1 RUTH 90_Turn Sprint 1 10 D90_Sprint1
2 RUTH 90_Turn Sprint 1 12 D90_Sprint1
2 RUTH 90_Turn Sprint 2 12 D90_Sprint2
2 RUTH 90_Turn Sprint 2 9 D90_Sprint2
3 RUTH 90_Turn Sprint 3 14 D90_Sprint3
3 RUTH 90_Turn Sprint 3 12 D90_Sprint3
4 RUTH 90_Turn Walk 1 13 D90_Walk1
4 RUTH 90_Turn Walk 1 17 D90_Walk1
5 RUTH 90_Turn Walk 2 11 D90_Walk2
5 RUTH 90_Turn Walk 2 15 D90_Walk2这考虑到了Drill,它与Name一样保持不变-- data.frame仅由露丝的数据组成。DV每Movement和Repetition至少测量两次。
有可能这样做吗?
我的数据帧是10140个。因此,一个快速的解决方案将是理想的。谢谢!
发布于 2016-07-04 03:48:50
我们可以使用paste
df1$Trial <- paste0("D90_", df1$Movement, df1$Repetition)如果“90”来自“钻”一栏
df1$Trial <- paste0("D", sub("_.*", "", df1$Drill), "_", df1$Movement, df1$Repetition)或使用sprintf
sprintf("D%s_%s%d", sub("_.*", "", df1$Drill), df1$Movement, df1$Repetition)
#[1] "D90_Sprint1" "D90_Sprint1" "D90_Sprint2" "D90_Sprint2" "D90_Sprint3" "D90_Sprint3" "D90_Walk1" "D90_Walk1" "D90_Walk2"
#[10] "D90_Walk2" 发布于 2016-07-04 03:49:16
使用paste0()
df$Trial <- paste0(sub("_.*", "", df$Drill),
"_",
df$Movement,
df$Repetition)对sub()的调用提取最终Trial字符串的Drill组件。
https://stackoverflow.com/questions/38176658
复制相似问题