我在R中有一个数据集,看起来如下所示:
> class(seqtab)
[1] "matrix" "array"
> str(seqtab)
int [1:10, 1:9773] 43380 0 5 15 68 39 18 0 0 0 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:10] "DI_Water" "High_Fe" "Low_Fe" "High_Cl" ...
..$ : chr [1:9773] "TACGAAGGGGGCTAGCGTTGCTCGGAATCACTGGGCGTAAAGGGCGCGTAGGCGGCGTTTTAAGTCGGGGGTGAAAGCCTGTGGCTCAACCACAGAATGGCCTTCGATACT"| __truncated__ "AACCAGCACCTCGAGTGGTCAGGAGGTTTATTGGGCCTAAAGCATCCGTAGCCGGTTGCATAAGTTTTCGGTTAAATCTATGCGCTTAACGTATAGGCCGCCGAAAATACT"| __truncated__ "TACGTAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGTGCGCAGGCGGTTTTGTAAGACAGAGGTGAAATCCCCGGGCTTAACCTGGGAACTGCCTTTGTGACT"| __truncated__ "TACGGAGGGGGCTAGCGTTGTTCGGAATTACTGGGCGTAAAGCGCACGTAGGCGGCGATTTAAGTCAGAGGTGAAAGCCCGGGGCTCAACCCCGGAATAGCCTTTGAGACT"| __truncated__ ...
我想替换一些字符串以获得如下输出:
> class(seqtab_OK)
[1] "matrix" "array"
> str(seqtab_OK)
int [1:10, 1:9773] 43380 0 5 15 68 39 18 0 0 0 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:10] "DI_Soil" "High_Iron" "Low_Iron" "High_Cl" ...
..$ : chr [1:9773] "TACGAAGGGGGCTAGCGTTGCTCGGAATCACTGGGCGTAAAGGGCGCGTAGGCGGCGTTTTAAGTCGGGGGTGAAAGCCTGTGGCTCAACCACAGAATGGCCTTCGATACT"| __truncated__ "AACCAGCACCTCGAGTGGTCAGGAGGTTTATTGGGCCTAAAGCATCCGTAGCCGGTTGCATAAGTTTTCGGTTAAATCTATGCGCTTAACGTATAGGCCGCCGAAAATACT"| __truncated__ "TACGTAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGTGCGCAGGCGGTTTTGTAAGACAGAGGTGAAATCCCCGGGCTTAACCTGGGAACTGCCTTTGTGACT"| __truncated__ "TACGGAGGGGGCTAGCGTTGTTCGGAATTACTGGGCGTAAAGCGCACGTAGGCGGCGATTTAAGTCAGAGGTGAAAGCCCGGGGCTCAACCCCGGAATAGCCTTTGAGACT"| __truncated__ ...
我试过这段代码,但没有任何变化:
# Define a vector of replacements
replacements <- c(
"DI_Water" = "DI_Soil",
"High_Fe" = "High_Iron",
"Low_Fe" = "Low_Iron"
)
# Replace specified strings in the matrix
seqtab_OK <- seqtab
for (old_str in names(replacements)) {
new_str <- replacements[old_str]
seqtab_OK[seqtab_OK == old_str] <- new_str
}
你知道如何得到想要的输出吗?
1条答案
按热度按时间dxxyhpgq1#
使用一些较小的示例数据:
使用
replacements
命名向量替换值:确认结果: