「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)