我有一个庞大的数据集,其中包含来自不同人群的基因型信息.我想按人口排序数据,但我不知道如何.
我想按"pedigree_dhl"排序.我使用以下代码,但我一直收到错误消息.
newdata <- project[pedigree_dhl == CCB133$*1, ]
Run Code Online (Sandbox Code Playgroud)
我的问题是,'pedigree-dhl'包含各个基因型的所有名称.只有'pedigree-dhl'列中的前7个字母才是人口名称.在此示例中:CCB133.我如何告诉R,我想提取包含CCB133的所有列的数据?
Allele1 Allele2 SNP_name gs_entry pedigree_dhl
1 T T ZM011407_0151 656 CCB133$*1
2 T T ZM009374_0354 656 CCB133$*1
3 C C ZM003499_0591 656 CCB133$*1
4 A A ZM003898_0594 656 CCB133$*1
5 C C ZM004887_0313 656 CCB133$*1
6 G G ZM000583_1096 656 CCB133$*1
Run Code Online (Sandbox Code Playgroud) 我的数据看起来像这样:
SNP Geno Allele
marker1 G1 AA
marker2 G1 TT
marker3 G1 TT
marker1 G2 CC
marker2 G2 AA
marker3 G2 TT
marker1 G3 GG
marker2 G3 AA
marker3 G3 TT
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
SNP Geno Allele1 Allele2
marker1 G1 A A
marker2 G1 T T
marker3 G1 T T
marker1 G2 C C
marker2 G2 A A
marker3 G2 T T
marker1 G3 G G
marker2 G3 A A
marker3 G3 T T
Run Code Online (Sandbox Code Playgroud)
我用这个:
strsplit(Allele, split extended = TRUE)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我需要其他命令吗?
我有一个看起来像这样的矩阵:
SNP G1 G2 G3
marker1 TT CC TT
marker2 AA AA AA
marker3 TT TT TT
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
SNP
>marker1 TT G1
>marker2 AA G1
>marker3 TT G1
>marker1 CC G2
>marker2 AA G2
>marker3 TT G2
>marker1 TT G3
>marker2 AA G3
>marker3 TT G3
Run Code Online (Sandbox Code Playgroud)
我用这个:
bsp2<- read.table("C:/R/bsp2.csv", header=TRUE)
reshape(as.data.frame(bsp2), direction="long", varying = list(colnames(bsp2)
[2:6]), v.names="G", idvar="SNP")
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息"未定义列选择".谁能告诉我我做错了什么?