私は異なるグループを含み、各グループにいくつかの要素があるリストを持っています。たとえば、rのリスト要素のペアを作成
>lst
grup name
A cancer
A diabetes
A Alzheimer's
A Carcinoma
A Lung Diseases
A Adenoma
A Hyperplasia
B Cortical
B Aortic Aneurysm
B Asthma
E Pneumonia
E Asthma
グループ 'A'、 'B'などの要素の可能なすべてのペアが必要です。 (癌、腺腫)、(がん、アルツハイマー病)、(がん、肺がん)、(がん、肺がん)、がん、過形成)は、糖尿病と同じであり、グループ「A」のすべての要素は、グループ「B」および「E」と同じである。要するに、それぞれの要素のペアは、そのグループの要素同士である。私は次のコードを試しましたが、それは私にそれがいくつかの不足している要素のリストを与えた正しい答えを与えていません。
コード:私は理解することはできません。このと間違っている何
spt <- split(lst, lst$name)# split the list into group
dis_name <- lapply(1:length(spt), function(x) as.character(spt[[x]][[2]]))
pr <- list()
for(k in 1:length(dis_name))
{
grp <- dis_name[[k]]
l <- length(grp)
for(m in 1:l)
{
for(p in 1:l)
{
pr[m][p] <- list(NULL)
cm <- paste(grp[m],",", grp[p])
pr[[m]][[p]] <- list(cm = cm)
}
}
}
PR
。これは私のデータの小さな例です。私は巨大なデータを持っていますので、パッケージforeach
とdoSNOW
でそれを実行する方法と並行して実行したいのですが。助けてください、助けていただければ幸いです。ありがとう。
私の所望の出力は「B」及び「C」の要素のための
[[1]]
[[1]][[2]]
"cancer , diabetes"
[[1]][[3]]
"cancer , Alzheimer's"
[[1]][[4]]
"cancer , Carcinoma"
[[1]][[5]]
"cancer , Lung Diseases"
[[1]][[6]]
"cancer , Adenoma"
[[1]][[7]]
"cancer , Hyperplasia"
[[2]]
[[2]][[1]]
"diabets , cancer"
[[2]][[3]]
"diabetes , Alzheimer's"
.
.
.
[[2]][[7]]
"diabetes , Hyperplasia"
[[3]]
[[3]][[1]]
"Alzheimer's , cancer"
.
.
.
[[3]][[7]]
"Alzheimer's , Hyperplasia"
[[4]]
[[4]][[1]]
.
.
.
[[4]][[7]]
[[5]]
[[5]][[1]]
.
.
.
[[5]][[7]]
[[6]]
[[6]][[1]]
.
.
.
[[7]]
[[7]][[1]]
.
.
.
同じ
[[2]]
[[1]]
[[1]][[2]]
"Cortical , Aortic Aneurysm"
[[1]][[3]]
"Cortical , Asthma"
[[2]]
[[2]][[1]]
"Aortic Aneurysm , Cortical"
[[2]][[3]]
"Aortic Aneurysm , Asthma"
[[3]]
[[3]][[1]]
.
.
[[3]][[2]]
[[3]]
[[1]]
[[1]][[2]]
"Pneumonia , Asthma"
[[2]]
[[2]][[1]]
"Asthma , Pneumonia"
私の出力がそのように見ているが、一対のある名前残ります
"Asthma , Pneumonia"
はと同じであるが、同じ順序だけが変化すると考えられる。「肺炎、喘息」 これを1組と見なします。おかげさまで
こんにちは、ここでは、以下のソリューションが機能していない小さなデータを投稿しました。以前に与えられた例は私の実際のデータと同じであったため、エラーを出して助けてください。私は本当に何か助けに感謝します。私はエラーを解決しようとしていますが、私はできません。
sort_gene:
data.geneSymbol data.diseaseName
A2M Acute Kidney Injury
A2M Adenoma, Liver Cell
A2M Alzheimer Disease
A2M Carcinoma, Hepatocellular
A2M Colonic Neoplasms
A2M Lung Diseases
A2M Lung Neoplasms
A2M Nephrotic Syndrome
A4GALT Blood group antigen p
A4GALT Burkitt Lymphoma
A4GALT Hyperostosis, Cortical, Congenital
AAA1 Aortic Aneurysm, Familial Abdominal 1
AAA2 Aortic Aneurysm, Familial Abdominal 2
Error:Error in FUN(X[[i]], ...) : n < m
これを私に教えてください。私は本当に助けが必要です。ありがとう
希望の出力を投稿してください。 'lapply(split(lst $ name、lst $ grup)、combn、2)'のようなものを探していますか? – nicola
感謝のニコラ、私は私の希望の出力を編集しました。 –