Преобразование значений от (0 до +1) в отрицательные значения в R - PullRequest
0 голосов
/ 06 мая 2020

У меня есть вопрос относительно преобразования значений в фрейме данных в R. У меня есть расчетные данные, которые состоят из значений в диапазоне от (0 до 0,999) и (от 1 до бесконечности). Я хотел бы сохранить значения (от 1 до бесконечности), как они есть в таблице, однако хотел бы преобразовать (от 0 до 0,999) в отрицательные значения с целью построения тепловой карты с использованием формулы (-1/[(0 to 0.999)]). Ниже приведен пример моих входных и выходных данных. Пожалуйста, помогите мне с этим.

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"))

Спасибо, Toufiq

1 Ответ

2 голосов
/ 06 мая 2020

Мы можем изменять только значения, находящиеся в диапазоне 0 to 0.999.

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
...