首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将每列中的最低值替换为NA值

如何将每列中的最低值替换为NA值
EN

Stack Overflow用户
提问于 2019-03-13 01:27:13
回答 1查看 286关注 0票数 0

我正在研究R中的代谢组学数据集。

我需要两件事的帮助: 1)将特定列(化合物/代谢物)中的每个NA值替换为代谢物的最低测量值(在同一列中)。

2)找到每一列(化合物/代谢物)的中值,然后将同一列中的每个观察值除以该值。我们只需要对照7:10,的中位数,但最终将测量值除以列中所有观察的值,健康对照和疾病对照均除以该值。

我在这里放了我的数据集1:10,1:10的一个小样本,这样您就可以了解我正在使用的是什么:

代码语言:javascript
复制
DF = structure(c(1860651, 1337891, 2798250, 3346226, 1573569, 1617225, 
2165432, 1810660, 2959953, 1646724, 131017, 84179, NA, 319922, 
146119, 144214, 293748, 115225, 91870, 251489, 151948, 45234, 
NA, 272300, 148625, 148467, 281923, 104149, 73209, 309631, 503723, 
335152, 204554, 1085158, 402338, 573637, 1326537, 476902, 320715, 
1054230, 73001, NA, NA, 134919, 41893, 60296, 172660, 46089, 
NA, 113501), .Dim = c(10L, 5L), .Dimnames = list(c("M_1", "M_2", 
"M_3", "M_4", "M_5", "M_6", "M_7", "M_8", "M_9", "M_10"), c("(N(1) + N(8))-acetylspermidine", 
"1-carboxyethylisoleucine", "1-carboxyethylleucine", "1-carboxyethylphenylalanine", 
"1-carboxyethyltyrosine")))

提前感谢您的帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-13 01:50:07

这能达到你想要的效果吗?

代码语言:javascript
复制
temp <- DF
temp[is.na(temp)] <- 0
newDF <- temp + is.na(DF)*apply(DF,2,min, na.rm=T)
apply(newDF,2,function(x) {x/median(x[7:10])})

以下是运行以下命令后的输出

代码语言:javascript
复制
          (N(1) + N(8))-acetylspermidine 1-carboxyethylisoleucine 1-carboxyethylleucine 1-carboxyethylphenylalanine 1-carboxyethyltyrosine
M_1                       0.9359195                0.7145459             0.7871485                   0.6579746              0.5102093
M_2                       0.6729678                0.4590989             0.2343293                   0.4377833              0.5883331
M_3                       1.4075379                0.2466991             0.2343293                   0.2671932              0.3161437
M_4                       1.6831733                1.7448039             1.4106177                   1.4174585              0.9429587
M_5                       0.7915154                0.7969099             0.7699341                   0.5255432              0.2927932
M_6                       0.8134746                0.7865203             0.7691156                   0.7492979              0.4214131
M_7                       1.0892263                1.6020550             1.4604685                   1.7327533              1.2067333
M_8                       0.9107737                0.6284189             0.5395315                   0.6229404              0.3221194
M_9                       1.4888755                0.5010444             0.3792505                   0.4189253              1.4296428
M_10                      0.8283128                1.3715811             1.6040065                   1.3770596              0.7932667
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55127419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档