我正在将 csv 文件读入 R 中,如下所示:
3,3
3,2
3,3
3,3
3,3
3,3
2,3
1,2
2,2
3,3
我想为我的数据可能的 9 种唯一可能性中的每一种分配一个数字(3 和 3 是 9,3 和 2 是 8,2 和 3 是 6,等等)。我一直在尝试设计一个嵌套的 if 语句,它将评估每一行,在第三列中分配一个数字,并对数据集中的每一行执行此操作。我相信这可以通过 apply 函数来完成,但是我无法让 if 语句在 apply 函数中工作。这两列都有可能的值 1,2 或 3。这是我到目前为止的代码,只是试图将 9 分配给 3/3 列,将 0 分配给其他所有内容:
#RScript for haplotype analysis
#remove(list=ls())
options(stringsAsFactors=FALSE)
setwd("C:/Documents and Settings/ColumbiaPC/Desktop")
#read in comma-delimited, ID-matched genotype data
OXT <- read.csv("OXTRhaplotype.csv")
colnames(OXT)<- c("OXT1","OXT2")
OXT$HAP <- apply(OXT, 1, function(x) if(x[1]=="3"&&x[2]=="3")x[3]=="9" else 0))
感谢您提前提供任何帮助。