Importando base de datos

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.

Seleccionando alelos diploides

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

Respuesta

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