ArrNeg <- read.delim("C:/Users/acard/Downloads/ArrNeg.txt.frq.count2.txt")
La base de datos tiene
str(ArrNeg)
## 'data.frame': 1995 obs. of 7 variables:
## $ CHROM : chr "locus_44799" "locus_48246" "locus_49786" "locus_49792" ...
## $ POS : int 7 1 18 24 32 14 60 44 22 7 ...
## $ N_ALLELES : int 2 2 2 2 2 2 2 2 2 2 ...
## $ N_CHR : int 10 6 4 4 6 4 8 8 6 8 ...
## $ X.COUNT. : int 10 6 4 4 6 1 8 8 6 8 ...
## $ X.COUNT..1: int 0 0 0 0 0 3 0 0 0 0 ...
## $ X.COUNT..2: int NA NA NA NA NA NA NA NA NA NA ...
summary(ArrNeg)
## CHROM POS N_ALLELES N_CHR
## Length:1995 Min. : 1.00 Min. :2.000 Min. : 0.00
## Class :character 1st Qu.: 6.00 1st Qu.:2.000 1st Qu.: 4.00
## Mode :character Median :14.00 Median :2.000 Median : 6.00
## Mean :20.54 Mean :2.017 Mean : 5.88
## 3rd Qu.:30.00 3rd Qu.:2.000 3rd Qu.: 8.00
## Max. :82.00 Max. :3.000 Max. :14.00
##
## X.COUNT. X.COUNT..1 X.COUNT..2
## Min. : 0.000 Min. : 0.000 Min. :0.0000
## 1st Qu.: 3.000 1st Qu.: 0.000 1st Qu.:0.0000
## Median : 5.000 Median : 0.000 Median :0.0000
## Mean : 5.096 Mean : 0.782 Mean :0.0882
## 3rd Qu.: 7.000 3rd Qu.: 0.000 3rd Qu.:0.0000
## Max. :14.000 Max. :10.000 Max. :2.0000
## NA's :1961
Este data.frame tiene 7 columnas y 1995 observaciones. Me llama la atención la columna X.COUNT..2 porque casi todos los datos están vacios, tiene 1961 NAs de 1995 filas.
table(ArrNeg$N_ALLELES)
##
## 2 3
## 1961 34
Esta base de datos tiene 1961 datos diploides y 34 tripoides. Seleccionamos los datos diploides
data <- ArrNeg[ArrNeg$N_ALLELES == 2,]
dim(data)
## [1] 1961 7
Ahora seleccionamos las columnas: “CHROM”, “X.COUNT.” y “X.COUNT..1”
data1 <- subset(x = data, select = c("CHROM", "X.COUNT.","X.COUNT..1"))
head(data1)
## CHROM X.COUNT. X.COUNT..1
## 1 locus_44799 10 0
## 2 locus_48246 6 0
## 3 locus_49786 4 0
## 4 locus_49792 4 0
## 5 locus_49807 6 0
## 6 locus_49862 1 3
Guarde lo que me pides en un vector numerico, los nombres del vector corresponden a los locus. Solo iprimo los primeros valores en el ejemplo, pero puedes revisar aleatoriamente para verificar que todo está correcto
res <- integer()
for( i in 1:nrow(data1)){
p1 <- as.numeric(unlist(data1[i,2:3]))
res <- c(res, p1)
}
names(res) <- rep(data1$CHROM, each = 2)
head(res)
## locus_44799 locus_44799 locus_48246 locus_48246 locus_49786 locus_49786
## 10 0 6 0 4 0