创建仅包含特定向量中具有特定值的列的子集

问题描述 投票:0回答:1

输入:

library(ISLR)
data("NCI60")

cancers=NCI60$labs
gene_counts <- table(cancers)
g3 <- names(gene_counts[gene_counts > 3])
g3

subset_NCI60 <- NCI60[cancers %in% g3]
subset_NCI60$labs

输出:

[1] "BREAST"   "CNS"      "COLON"    "LEUKEMIA" "MELANOMA" "NSCLC"    "OVARIAN" 
[8] "RENAL"


 [1] "CNS"         "CNS"         "CNS"         "RENAL"       "BREAST"     
 [6] "CNS"         "CNS"         "BREAST"      "NSCLC"       "NSCLC"      
[11] "RENAL"       "RENAL"       "RENAL"       "RENAL"       "RENAL"      
[16] "RENAL"       "RENAL"       "BREAST"      "NSCLC"       "RENAL"      
[21] "UNKNOWN"     "OVARIAN"     "MELANOMA"    "PROSTATE"    "OVARIAN"    
[26] "OVARIAN"     "OVARIAN"     "OVARIAN"     "OVARIAN"     "PROSTATE"   
[31] "NSCLC"       "NSCLC"       "NSCLC"       "LEUKEMIA"    "K562B-repro"
[36] "K562A-repro" "LEUKEMIA"    "LEUKEMIA"    "LEUKEMIA"    "LEUKEMIA"   
[41] "LEUKEMIA"    "COLON"       "COLON"       "COLON"       "COLON"      
[46] "COLON"       "COLON"       "COLON"       "MCF7A-repro" "BREAST"     
[51] "MCF7D-repro" "BREAST"      "NSCLC"       "NSCLC"       "NSCLC"      
[56] "MELANOMA"    "BREAST"      "BREAST"      "MELANOMA"    "MELANOMA"   
[61] "MELANOMA"    "MELANOMA"    "MELANOMA"    "MELANOMA"

我的问题: 仅“BREAST”“CNS”“COLON”“LEUKEMIA”“MELANOMA”“NSCLC”“OVARIAN”和“RENAL”应出现在第二个输出中。我做错了什么?

subset <- NCI60[NCI60$labs %in% g3, ]

我知道这是正确的方法,但是当我这样做时,我的 R 会抛出此错误:

子集<- NCI60[NCI60$labs %in% g3, ] Error in NCI60[NCI60$labs %in% g3, ] : incorrect number of dimensions

r subset
1个回答
0
投票
> subset_NCI60 <- lapply(NCI60, `[`, NCI60$labs %in% g3)
> unique(subset_NCI60$labs)
[1] "CNS"      "RENAL"    "BREAST"   "NSCLC"    "OVARIAN"  "MELANOMA" "LEUKEMIA" "COLON"   
© www.soinside.com 2019 - 2024. All rights reserved.