根据存储在因子中的样本 ID 号对数据框进行子集化
Subsetting a data frame based on Sample ID numbers in stored in a factor
我的数据框由两列组成,一列包含我的样本 ID,另一列包含我的结果,如下所示:
Sample.ID Conc.
1 B1 0.020885051
2 B2 0.002398214
3 B3 0.001343366
4 B4 0.001501216
5 B5 0.002057419
6 B6 0.200243098
7 B7 0.003307670
8 B8 0.001403119
9 1 0.003150129
10 2 0.014822015
11 3 0.012500499
12 St2 0.199572365
13 4 0.012261783
14 5 0.004802208
15 6 0.003964603
16 St4 0.990239557
17 7 0.077453817
18 8 0.059765216
19 St2 0.204757306
20 9 0.061966809
我想知道是否有一种简单的方法来对数据进行子集化,所以最后我为我的 B 有了单独的数据框:
Sample.ID Conc.
1 B1 0.020885051
2 B2 0.002398214
3 B3 0.001343366
4 B4 0.001501216
5 B5 0.002057419
6 B6 0.200243098
7 B7 0.003307670
8 B8 0.001403119
和我的号码
Sample.ID Conc.
1 1 0.003150129
2 2 0.014822015
3 3 0.012500499
4 4 0.012261783
5 5 0.004802208
6 6 0.003964603
7 7 0.077453817
8 8 0.059765216
9 9 0.061966809
最后是我的 St
Sample.ID Conc.
1 St2 0.199572365
2 St4 0.990239557
3 St2 0.204757306
感谢阅读到最后并提供帮助。
您可以使用 split()
拆分 data.frame,只要您的 ID 的格式为字母 - 然后 - 数字,您就可以使用 gsub
去除尾随数字作为在:
stringsPart <-gsub('[0-9]*$','',myData$Sample.ID)
listOfSubDataFrames <- split(myData,stringsPart)
顺便说一句,正则表达式匹配出现在字符串末尾($
)的零个或多个(*
)数字([0-9]
),gsub替换它们带有空字符串 (''
).
我的数据框由两列组成,一列包含我的样本 ID,另一列包含我的结果,如下所示:
Sample.ID Conc.
1 B1 0.020885051
2 B2 0.002398214
3 B3 0.001343366
4 B4 0.001501216
5 B5 0.002057419
6 B6 0.200243098
7 B7 0.003307670
8 B8 0.001403119
9 1 0.003150129
10 2 0.014822015
11 3 0.012500499
12 St2 0.199572365
13 4 0.012261783
14 5 0.004802208
15 6 0.003964603
16 St4 0.990239557
17 7 0.077453817
18 8 0.059765216
19 St2 0.204757306
20 9 0.061966809
我想知道是否有一种简单的方法来对数据进行子集化,所以最后我为我的 B 有了单独的数据框:
Sample.ID Conc.
1 B1 0.020885051
2 B2 0.002398214
3 B3 0.001343366
4 B4 0.001501216
5 B5 0.002057419
6 B6 0.200243098
7 B7 0.003307670
8 B8 0.001403119
和我的号码
Sample.ID Conc.
1 1 0.003150129
2 2 0.014822015
3 3 0.012500499
4 4 0.012261783
5 5 0.004802208
6 6 0.003964603
7 7 0.077453817
8 8 0.059765216
9 9 0.061966809
最后是我的 St
Sample.ID Conc.
1 St2 0.199572365
2 St4 0.990239557
3 St2 0.204757306
感谢阅读到最后并提供帮助。
您可以使用 split()
拆分 data.frame,只要您的 ID 的格式为字母 - 然后 - 数字,您就可以使用 gsub
去除尾随数字作为在:
stringsPart <-gsub('[0-9]*$','',myData$Sample.ID)
listOfSubDataFrames <- split(myData,stringsPart)
顺便说一句,正则表达式匹配出现在字符串末尾($
)的零个或多个(*
)数字([0-9]
),gsub替换它们带有空字符串 (''
).