索引值在 r 中不匹配

index value doesn't match in r

我在做任何更改之前总结了 table。然后我提取排除空值和 "I or II NOS" 的数据并分别分配给 a1 和 a2 的数据。 a1 有正确的数据。但是显示a2还有4条"I or II NOS"条数据。当我尝试索引原始 table 的 "I or II NOS" 数据时,它给出了 10 行,但 4 行的值不是 "I or II NOS"。这是怎么发生的?有人可以帮我吗?我没有足够的声誉来粘贴结果屏幕打印图片,所以我只粘贴代码。提前致谢。

a1 = a[AJCC_PATHOLOGIC_TUMOR_STAGE!='',]

a2 = a1[AJCC_PATHOLOGIC_TUMOR_STAGE!='I or II NOS',]

抱歉,我更新了问题并粘贴了全部代码。

library("cgdsr", lib.loc="~/R/win-library/3.1")
library("R.oo", lib.loc="~/R/win-library/3.1")
library("R.methodsS3", lib.loc="~/R/win-library/3.1")
# Create CGDS object
mycgds = CGDS("http://www.cbioportal.org/public-portal/")
test(mycgds)
# Get list of cancer studies at server
getCancerStudies(mycgds)[, c(1,2)]

mycancerstudy = getCancerStudies(mycgds)[78,1]
# Get available case lists (collection of samples) for a given cancer study
getCaseLists(mycgds,mycancerstudy)[,1]

mycaselist = getCaseLists(mycgds,mycancerstudy)[2,1]

# Get available genetic profiles
getGeneticProfiles(mycgds,mycancerstudy)[,1]

mygeneticprofile = getGeneticProfiles(mycgds,mycancerstudy)[2,1]

# Get clinical data for the case list
myclinicaldata = getClinicalData(mycgds,mycaselist)

# skcm_tcga_rna_seq_v2_mrna_median_Zscores
z_score_caselist = getCaseLists(mycgds,mycancerstudy)[7,1]

# Get data slices for a specified list of genes, genetic profile and case list
WNT5A = getProfileData(mycgds,c('WNT5A'),mygeneticprofile,mycaselist)

# documentation
help('cgdsr')
help('CGDS')

WNT5A_stage = merge(WNT5A,myclinicaldata, by = 'row.names')
WNT5A_stage_table = WNT5A_stage[, c(2, 6)]
a = na.omit(WNT5A_stage_table)
a1 =  a[a$AJCC_PATHOLOGIC_TUMOR_STAGE!='']
a2 = a1[AJCC_PATHOLOGIC_TUMOR_STAGE!='I or II NOS',]

只更新部分结果如下。可以看到这个值和索引不一样。

>a1[AJCC_PATHOLOGIC_TUMOR_STAGE=='I or II NOS',]
        WNT5A         AJCC_PATHOLOGIC_TUMOR_STAGE
  8     712.1645                 I or II NOS
 28      7.5434                 I or II NOS
 33      3.6290                 I or II NOS
 34      8.7881                 I or II NOS
 38    150.3167                 I or II NOS
 47     34.3643                 I or II NOS
 180    19.1529                    Stage IB
 304    20.1072                   Stage IIC
 324    44.0167                    Stage IB
 337 19142.6676                  Stage IIIC

如我的评论所述,您没有使用新数据框中的列进行子设置。您需要:

a2 = a1[a1$AJCC_PATHOLOGIC_TUMOR_STAGE!='I or II NOS',]

a2 = subset(a1, AJCC_PATHOLOGIC_TUMOR_STAGE != 'I or II NOS')