使用重塑命令后因子水平错误
wrong level of factor after using reshape command
我有以下数据,
Sample_ID SNP_Name Genotype Phenotype CV.Group
1 AUS002 rs1028005 AA 1 4
2 AUS002 rs4788050 TC 1 4
3 AUS002 rs17143930 CC 1 4
4 AUS002 rs3920214 AA 1 4
5 AUS002 rs1862520 GG 1 4
6 AUS002 rs1461224 AC 1 4
我用下面的命令重塑了它:
reshaped.data <- reshape(merged.data, timevar = "SNP_Name", idvar = c("Sample_ID","Phenotype","CV.Group"), direction = "wide")
根据 Sample_ID
给出我想要的分组,它工作正常,每个变量将仅给出三个类别(基因型数据)。
Sample_ID Phenotype CV.Group Genotype.rs1028005 Genotype.rs4788050
1 AUS002 1 4 AA TC
4039 AUS003 1 3 GG <NA>
7927 AUS004 1 4 AA TC
11965 AUS005 0 2 AG TT
16003 AUS007 0 2 AA TC
但是,当我尝试将其中一个变量制成表格时,它也显示了其他级别,而它应该只有三个(例如 AA、AG 和 GG)。哪里出错了?
table(reshaped.data$Phenotype,reshaped.data$Genotype.rs1028005)
-- AA AC AG AT CC CG GC GG TA TC TG TT
0 0 45 0 35 0 0 0 0 4 0 0 0 0
1 0 16 0 12 0 0 0 0 3 0 0 0 0
我认为这是重塑数据集后未使用级别的情况。要删除 'factor' 变量中的那些 levels
,我们可以再次调用 factor
或使用函数 droplevels
删除那些未使用的级别。
table(droplevels(reshaped.data$Phenotype),
droplevels(reshaped.data$Genotype.rs1028005))
或者只是
reshaped.data <- droplevels(reshaped.data)
table(reshaped.data[,c('Phenotype', 'Genotype.rs1028005')])
我有以下数据,
Sample_ID SNP_Name Genotype Phenotype CV.Group
1 AUS002 rs1028005 AA 1 4
2 AUS002 rs4788050 TC 1 4
3 AUS002 rs17143930 CC 1 4
4 AUS002 rs3920214 AA 1 4
5 AUS002 rs1862520 GG 1 4
6 AUS002 rs1461224 AC 1 4
我用下面的命令重塑了它:
reshaped.data <- reshape(merged.data, timevar = "SNP_Name", idvar = c("Sample_ID","Phenotype","CV.Group"), direction = "wide")
根据 Sample_ID
给出我想要的分组,它工作正常,每个变量将仅给出三个类别(基因型数据)。
Sample_ID Phenotype CV.Group Genotype.rs1028005 Genotype.rs4788050
1 AUS002 1 4 AA TC
4039 AUS003 1 3 GG <NA>
7927 AUS004 1 4 AA TC
11965 AUS005 0 2 AG TT
16003 AUS007 0 2 AA TC
但是,当我尝试将其中一个变量制成表格时,它也显示了其他级别,而它应该只有三个(例如 AA、AG 和 GG)。哪里出错了?
table(reshaped.data$Phenotype,reshaped.data$Genotype.rs1028005)
-- AA AC AG AT CC CG GC GG TA TC TG TT
0 0 45 0 35 0 0 0 0 4 0 0 0 0
1 0 16 0 12 0 0 0 0 3 0 0 0 0
我认为这是重塑数据集后未使用级别的情况。要删除 'factor' 变量中的那些 levels
,我们可以再次调用 factor
或使用函数 droplevels
删除那些未使用的级别。
table(droplevels(reshaped.data$Phenotype),
droplevels(reshaped.data$Genotype.rs1028005))
或者只是
reshaped.data <- droplevels(reshaped.data)
table(reshaped.data[,c('Phenotype', 'Genotype.rs1028005')])