0

假设我有一个数据框,其中包含名为“SNP”(唯一 ID)、“A1”和“P”的三列。

SNP | A1 | P
rs12  A    0.3426
rs16  B    0.0083
rs18  B    0.0046

我正在尝试在名为“A2”的数据中创建新列“A2”

这就是我所拥有的,我不确定我是否以正确的方式解决这个问题,但这是一个尝试。

data<-(read data in)
allele<-function(x) {
    isOkay<-all(data[data$A2=="A"])
    flag<- ifelse(isOkay, A, B)
      return(flag)
}

data <- split(data, data$SNP)
A2 <- sapply(data, allele)
4

1 回答 1

0

#假设你的列 A1 只取两个值 A 和 B 并且你的数据是 mydata

mydata$A2<-with(mydata,ifelse(A1=="A","B","A")) 
> mydata
   SNP A1      p A2
1 rs12  A 0.3426  B
2 rs16  B 0.0083  A
3 rs18  B 0.0046  A
于 2013-08-11T23:01:30.843 回答