根据数据矩阵中的另一列生成一个新列

用户名

我有这样的数据:

> data
  gene log2FC
1    A     NA
2    B      1
3    C      2
4    D     -3

我想使用基于log2FC的新列FC生成数据:

> data
  gene log2FC FC
1    A     NA NA
2    B      1  2
3    C      2  4
4    D     -3 -8

我写了一个循环来得到结果:

LFC <- data$log2FC
FC <- NULL

for ( i in 1:length(LFC) ) {

a <- LFC[i]

if ( is.na(a) ) {
  FC[i] <- NA
} else {
  if ( a < 0 ) { 
  FC[i] <- (-1)/(2^a)
} else {
  FC[i] <- 2^a
} 

}
}

data$FC <- FC

谁能让我知道一种更聪明的方式来生成数据,例如使用Apply或其他功能?谢谢你教我!

尼古拉

没有任何循环或if ifelse类似现象:

data$FC<-sign(df$log2FC)*2^abs(df$log2FC)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据熊猫中另一列上的值在数据框中创建一个新列

根据pandas中另一列的状态创建一个新列

根据另一列中的条件指定一个新列

根据另一列 R 中的条件创建一个新列

根据另一列和另一个表中的值创建一个新列

如何根据另一列的数据在一个列中添加规则

根据熊猫数据框中另一列的最后一个值填充列

根据索引号在另一个数据框中添加一列

如何迭代另一列中的嵌套字段以根据另一个值创建新列?

根据另一列中的最大值为熊猫数据框中的给定子索引创建一个新列

根据另一列的值是否在另一个数据帧的列中更新值

根据 Pandas 中另一列中相似值的分组创建一个新列

如何根据另一列更改矩阵中的列

根据同一数据框的另一列绘制一个列

根据来自另一列的值在 R 数据框中添加一个带有 html 标签的新列

根据另一列 pandas 中特定值的累积出现次数创建一个新列

根据另一列的内容在R中创建一个新列[特定情况]

根据另一列的字符串创建一个新列

根据仅为新ID累加的另一列创建一个累加列

Pandas 根据另一列的非空值创建一个新列

根据另一列的因子水平创建一个新列

根据另一列的groupby结果创建一个新列

R:根据另一个数据框中的一列向数据框中添加一列会导致多个重复行

对于另一个矩阵的每一列,逐行从一个矩阵中减去值

创建一个新列,在两列中添加天数,其中一列包含数据,另一列包含ID

尝试使用Python / pandas根据来自另一个数据框的一列的内部和创建一个新的数据框

根据pandas中另一列中的日期添加一个期间列

根据共享列的另一个数据帧中的列映射熊猫数据帧中的新列

R:根据一列的数据绘制矩阵中的数据