使用其他列中的某些值创建另一列

kel*_*rog 1 r

表看起来像这样,SampleID而且Number是列名:

SampleID Number
G2Day2   15
G2Day4   11
G11Day13 5
Run Code Online (Sandbox Code Playgroud)

我想使用中的值创建另一列SampleID,因此新表将如下所示:

SampleID Group Day Number
G2Day2   G2    2   15
G2Day4   G2    4   11
G11Day13 G11   13  5
Run Code Online (Sandbox Code Playgroud)

sha*_*dow 5

您可以使用将结果列表和结果列表strsplit拆分. sampleIDrbind

df[, c("Group", "Day")] <- do.call(rbind, strsplit(as.character(df[, "SampleID"]), "Day"))
df[, c("SampleID", "Group", "Day", "Number")]
##   SampleID Group Day Number
## 1   G2Day2    G2   2     15
## 2   G2Day4    G2   4     11
## 3 G11Day13   G11  13      5
Run Code Online (Sandbox Code Playgroud)