1
我有一個數據是這樣的:生成一個新的列
> 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
任何人都可以讓我知道一個更聰明的方法來生成數據,就像使用應用或其他功能?謝謝你教我!
我想'數據$ FC < - 符號(DF $ log2FC)* 2^ABS(DF $ log2FC)'應該沒有任何'if'工作或'ifelse'或'for'循環。 – nicola
@nicola - 這應該是一個答案。 – thelatemail