나는 모든 유전자에 대해 가능한 각각의 SNP에 대해 서로 다른 유전자 열과 -log(P-values)
에 해당하는 열이있는 행렬을 가지고 있습니다.R : 루프의 배열에 요소를 초기화하고 추가하는 방법
그래서 행렬에는 Gene_lable
, SNP 및 minus_logpval
의 3 개의 열이 있습니다. 각 유전자에 대해 가장 높은 숫자의 -log(P-value)
을 가진 SNP를 식별하는 코드를 작성하려고합니다.
for(i in 1:254360) {
max_pval = 0
if(data$Gene_label[i]==data$Gene_label[i+1]) {
x = array(NA, dim=c(0,2));
x[i] = data$minus_logpval[i];
x[i+1] = data$minus_logpval[i+1];
temp = max(x);
if (temp>max_pval) {
max_pval=temp
line = i
}
그러나 어떤 이유로, R은 나에게 오류를주고 유지
가 :Error in is.ordered(x) : argument "x" is missing, with no default.
내가도 사용하지 않았다가이 코드의 시작
SNP Gene_label minus_logpval
1 rs3934834 HES4/ENSG00000188290 14.1031
2 rs3766193 HES4/ENSG00000188290 7.0203
3 rs3766192 HES4/ENSG00000188290 10.7420
4 rs3766191 HES4/ENSG00000188290 10.4323
5 rs9442371 HES4/ENSG00000188290 10.2941
6 rs9442372 HES4/ENSG00000188290 8.4235
입니다 : 여기 머리 (데이터)의 정렬 된 (x) 함수 ... 나는 (배열이어야합니다) x 초기화 된 방법으로 오류가 생각하지만 그것을 수정하는 방법을 모르겠습니다.
당신이 코드가 재현 확인하시기 바랍니다 수 있습니다 (
minus_logpval
의max
에 관한snp
을 찾기) (Gene_label
에 의해) 부분 집합에 최대data.frame
을 분할하고 각 부분에서 작동? – Michele답장을 보내 주셔서 감사합니다. 재현성이 무엇을 의미하는지 확신 할 수 없으면 전체 코드를 보시겠습니까? – zfz
@zfzhao [** 작은 재현 가능한 예 **] 만드는 방법에 대한이 게시물을 읽으십시오 (http://stackoverflow.com/q/5963269/1478381). –