I am trying to use melt on a data.table,
mdoern_gt_melted <- data.table::melt(modern_gt, id.vars = c('chrom', 'pos', 'ref', 'alt'))
Error in melt.data.table(gtData, c("chrom", "pos", "ref", "alt")) : negative length vectors are not allowed
my data table is like:
# modern_gt
chrom pos ref alt Nea HG01566 NA18593 NA19795 HG01105 HG03225
1: chr20 10723 T . 67 66 66 66 66 66
2: chr20 10724 G . 67 66 66 66 66 66
3: chr20 10725 C . 67 66 66 66 66 66
4: chr20 10726 C . 67 66 66 66 66 66
5: chr20 10727 T . 67 66 66 66 66 66
I have tried:
(1) use a subset of data
# its ok
data.table::melt(modern_gt[1:10000, ], id.vars = c('chrom', 'pos', 'ref', 'alt'))
# its not ok
data.table::melt(modern_gt, id.vars = c('chrom', 'pos', 'ref', 'alt'))
I have checked
# https://stackoverflow.com/questions/42479854/merge-error-negative-length-vectors-are-not-allowed
# not duplicated
modern_gt <- unique(modern_gt)
My data (modern_gt.rds) can be obtain from: https://mega.nz/file/SHhnQCYZ#I7dl625XKreIBc3TYn7nYc_L4TTPcsQFZEwnEwD3qu0