首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换R中从(0到+1)到负值的值

转换R中从(0到+1)到负值的值
EN

Stack Overflow用户
提问于 2020-05-06 01:49:53
回答 1查看 43关注 0票数 0

我对R中数据帧中值的转换有疑问,我有由(0到0.999)和(1到无穷大)的值组成的计算数据。我希望保留表中的(1到无穷大)值,但是,我希望将(0到0.999)转换为负值,以便使用公式(-1/[(0 to 0.999)])绘制热图。下面是我的输入和输出数据的示例。请帮我解决这个问题。

代码语言:javascript
复制
Input_Data <- read.csv(file = "./Synthetic_Data_Input.csv",stringsAsFactors = FALSE, row.names = 1)
Output_Data <- read.csv(file = "./Synthetic_Data_Output.csv",stringsAsFactors = FALSE, row.names = 1)

dput(Input_Data)
structure(list(Sample_1 = c(0.942972, 1.00812, 1.10038, 1.19572, 
1.28194, 1.37384, 1.75378, 2.56584, 2.56584), Sample_3 = c(0.517607, 
0.935699, 0.567427, 0.572821, 0.795282, 0.541105, 1.03596, 2.78013, 
0.189337)), class = "data.frame", row.names = c("Gene_4", "Gene_7", 
"Gene_2", "Gene_3", "Gene_6", "Gene_9", "Gene_5", "Gene_8", "Gene_1"
))


dput(Output_Data)
structure(list(Sample_1 = c(-1.060476875, 1.00812, 1.10038, 1.19572, 
1.28194, 1.37384, 1.75378, 2.56584, 2.56584), Sample_3 = c(-1.93196769, 
-1.068719749, -1.762341235, -1.745746053, -1.257415609, -1.848070153, 
1.03596, 2.78013, -5.281587857)), class = "data.frame", row.names = c("Gene_4", 
"Gene_7", "Gene_2", "Gene_3", "Gene_6", "Gene_9", "Gene_5", "Gene_8", 
"Gene_1"))

谢谢你,图菲克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 01:53:58

我们只能更改0 to 0.999范围内的值。

代码语言:javascript
复制
inds <- Input_Data <= 0.999
Input_Data[inds] <- -1/Input_Data[inds]

Input_Data
#        Sample_1  Sample_3
#Gene_4 -1.060477 -1.931968
#Gene_7  1.008120 -1.068720
#Gene_2  1.100380 -1.762341
#Gene_3  1.195720 -1.745746
#Gene_6  1.281940 -1.257416
#Gene_9  1.373840 -1.848070
#Gene_5  1.753780  1.035960
#Gene_8  2.565840  2.780130
#Gene_1  2.565840 -5.281588
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61625993

复制
相关文章

相似问题

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