Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否有函数将同一数据文件中的所有要素(行)减去为特定值(行)?_R_Python 2.7_Math_Matrix_Normalization - Fatal编程技术网

R 是否有函数将同一数据文件中的所有要素(行)减去为特定值(行)?

R 是否有函数将同一数据文件中的所有要素(行)减去为特定值(行)?,r,python-2.7,math,matrix,normalization,R,Python 2.7,Math,Matrix,Normalization,我不熟悉R和Python编程,但是我有一些基础知识。我有一个关于计算的技术问题。我想知道是否有任何函数用于将所有特征(行)减去同一数据列表中的特定值(行)。我想获得如下链接所示的输出值1,然后将其与(-1)相乘以获得输出值2 数据文件链接: 如果你需要更多的细节,请告诉我 我曾尝试在MS Excel中执行相同的操作,这非常繁琐和耗时 我有许多包含数百行和数百列的大型数据集,在MS Excel中手动执行这些数据集会变得更加复杂。因此,我更愿意编写代码并获得所需的输出 以下是示例数据:输入为特征和值

我不熟悉R和Python编程,但是我有一些基础知识。我有一个关于计算的技术问题。我想知道是否有任何函数用于将所有特征(行)减去同一数据列表中的特定值(行)。我想获得如下链接所示的输出值1,然后将其与(-1)相乘以获得输出值2

数据文件链接:

如果你需要更多的细节,请告诉我

我曾尝试在MS Excel中执行相同的操作,这非常繁琐和耗时

我有许多包含数百行和数百列的大型数据集,在MS Excel中手动执行这些数据集会变得更加复杂。因此,我更愿意编写代码并获得所需的输出

以下是示例数据:输入为特征和值列,输出为输出值1和输出值2列

|Feature|   |Value| |Output_value1| |Output_value2|
|Gene_1|    |14.25633934|   |0.80100922|    |-0.80100922|
|Gene_2|    |16.88394578|   |3.42861566|    |-3.42861566|
|Gene_3|    |16.01| |2.55466988|    |-2.55466988|
|Gene_4|    |13.82329514|   |0.36796502|    |-0.36796502|
|Gene_5|    |12.96382949|   |-0.49150063|   |0.49150063|
|Normalizer|    |13.45533012|   |0| |0|


dput(head(Exampledata))
structure(list(Feature = structure(1:6, .Label = c("Gene_1", "Gene_2", 
"Gene_3", "Gene_4", "Gene_5", "Normalizer"), class = "factor"), Value = 
c(14.25633934, 16.88394578, 16.01, 13.82329514, 12.96382949, 
13.45533012), Output_value1 = c(0.80100922, 3.42861566, 2.55466988, 
0.36796502, -0.49150063, 0), Output_value2 = c(-0.80100922, 
-3.42861566, -2.55466988, -0.36796502, 0.49150063, 0)), row.names = c(NA, 6L), class = "data.frame") 

假设只有一行
Feature==“Normalizer”
,则在R中获得该行的
值,并将其从其余行中减去

Exampledata$Output_value1 <- Exampledata$Value - 
                             Exampledata$Value[Exampledata$Feature == "Normalizer"]
Exampledata$Output_value2 <- Exampledata$Output_value1 * -1

Exampledata
#     Feature    Value Output_value1 Output_value2
#1     Gene_1 14.25634     0.8010092    -0.8010092
#2     Gene_2 16.88395     3.4286157    -3.4286157
#3     Gene_3 16.01000     2.5546699    -2.5546699
#4     Gene_4 13.82330     0.3679650    -0.3679650
#5     Gene_5 12.96383    -0.4915006     0.4915006
#6 Normalizer 13.45533     0.0000000     0.0000000

Exampledata$Output\u value1请与预期输出一起共享。请使用
dput(head(data))
和预期输出包含您的数据样本,以便我们可以更轻松地帮助您。有些人不喜欢点击随机链接。您还想要python还是R答案?>dput(head(Exampledata))结构(list(Feature=structure(1:6,.Label=c(“Gene_1”、“Gene_2”、“Gene_3”、“Gene_4”、“Gene_5”、“Normalizer”)、class=“factor”)、Value=c(14.25633934、16.88394578、16.01、13.82329514、12.96382949、13.45533012)、Output_value1=c(0.80100922,3.42861566,2.55466988,0.36796502,-0.49150063,0),Output_value2=c(-0.80100922,-3.42861566,-2.55466988,-0.36796502,0.49150063,0)),row.names=c(NA,6L),class=“data.frame”)@RAB@Ronak Shah.谢谢你,Ronak.在上面的场景中,我询问了一列即“Value”然而,如果我拥有由多个“值”列组成的大型数据集,并且对如上所示的每个“值”列的预期输出感兴趣,我如何处理此类数据?下面是示例数据。>dput(头(数据))结构(列表(特征=结构(c(2L,3L,4L,5L,1L),.Label=c(“规范化器”,“基因_1”,“基因_2”,“gene_3”,“gene_5”,class=“factor”),Value1=c(21.0014918,19.83153625,20.49718101,18.97614651,20.17378166),Value2=c(19.56339387,19.50775965,20.33358715,19.39558316,21.53492693),Value3=c(19.59942404,18.77751314,20.4157633,19.19224506,18.32532229),Value4=c(20.95834184,18.213888771,18.39837,18.39837,19),row.names=c(NA,5L),class=“data.frame”)@MohammedToufiq我已经更新了答案,检查上面答案中的编辑部分。看看它是否适合你。
cols <- grep("^Value", names(data))
inds <- which(data$Feature == "Normalizer")

data[paste0("Output", seq_along(cols))] <- data[cols] - data[rep(inds, nrow(data)),cols]
data[paste0("Output_inverted", seq_along(cols))] <- data[grep("Output", names(data))] *  -1
Exampledata <- structure(list(Feature = structure(1:6, .Label = c("Gene_1", 
"Gene_2", "Gene_3", "Gene_4", "Gene_5", "Normalizer"), class = "factor"), 
Value = c(14.25633934, 16.88394578, 16.01, 13.82329514, 12.96382949, 
13.45533012)), row.names = c(NA, 6L), class = "data.frame")