0

「SNP」(一意の ID)、「A1」、「P」という名前の 3 つの列を持つデータ フレームがあるとします。

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

列 "A1" に A がある場合、R は列 "A2" に B を配置し、列 "A1" に A を列に配置する B がある場合に基づいて、"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 の 2 つの値のみを取り、データが 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 に答える