Объединение 2 столбцов в 1 столбец много раз в очень большом наборе данных в R
Неуклюжие решения, над которыми я работаю, не будут очень быстрыми, если я смогу заставить их работать, и истинный набор данных ~ 1500 X 45000, поэтому они должны быть быстрыми. Я определенно в недоумении для 1) на данный момент, хотя есть некоторый код для 2) и 3).
Вот игрушечный пример структуры данных:
pop = data.frame(status = rbinom(n, 1, .42), sex = rbinom(n, 1, .5),
age = round(rnorm(n, mean=40, 10)), disType = rbinom(n, 1, .2),
rs123=c(1,3,1,3,3,1,1,1,3,1), rs123.1=rep(1, n), rs157=c(2,4,2,2,2,4,4,4,2,2),
rs157.1=c(4,4,4,2,4,4,4,4,2,2), rs132=c(4,4,4,4,4,4,4,4,2,2),
rs132.1=c(4,4,4,4,4,4,4,4,4,4))
Таким образом, есть несколько столбцов базовой демографической информации, а затем остальные столбцы являются двуаллельной информацией SNP. Например: rs123 является аллелем 1 rs123, а rs123.1 является вторым аллелем rs123.
1) Мне нужно объединить все двуслойные данные SNP, которые в настоящее время находятся в 2 столбцах, в 1 столбец, например, rs123 и rs123.1 в один столбец (но внутри набора данных):
11
31
11
31
31
11
11
11
31
11
2) Мне нужно определить наименее частое значение SNP (в приведенном выше примере оно равно 31).
3) Мне нужно заменить наименее частое значение SNP на 1, а другие значения на 0.