избавиться от предупреждения и ошибки: неязыковой объект в R - PullRequest
0 голосов
/ 22 ноября 2018

Я кодирую в R, и у меня есть небольшой кусок, который мне нужно зациклить.

часть кода выглядит так:

sc_1$ue <- cF(sc_1, 2500, 1000, 5)
sc_2$ue <- cF(sc_2, 2500, 1000, 5)
sc_3$ue <- cF(sc_3, 2500, 1000, 5)
sc_4$ue <- cF(sc_4, 3000, 1000, 5)

, где cF - этофункция, которую я вызываю.Этот код в его нынешнем виде работает без ошибок.

Однако, когда я пытаюсь зациклить его, как показано ниже:

sc_list=mget(sc)
for (i in 1:5)
sc_list[i]$ue <- cF(sc_list[i], 2500, 1000, 5)

, где sc содержит объекты sc_1 to sc_n.

Вывод - это не немедленная ошибка, а предупреждение.

## Warning in sc_list[i] <- `*vtmp*`: number of items to replace is not a
## multiple of replacement length

## Warning in sc_list[i] <- `*vtmp*`: number of items to replace is not a
## multiple of replacement length

## Warning in sc_list[i] <- `*vtmp*`: number of items to replace is not a
## multiple of replacement length

## Warning in sc_list[i] <- `*vtmp*`: number of items to replace is not a
## multiple of replacement length

из-за этого следующего кода в программе выдает ошибку.

Как я могу это исправить?

Что я пробовал:

sc_list=mget(sc)
    for (i in 1:length(paths))
      paste0("sc_",i)$ue <- cF(sc_list[i], 2500, 1000, 5)

Это выдает ошибку.

Quitting from lines 209-217 (prototype.Rmd) 
Error in paste0("sc_", i)$use <- cF(sc_list[i], 2500, 1000,  : 
  target of assignment expands to non-language object
Calls: <Anonymous> ... handle -> withCallingHandlers -> withVisible -> eval -> eval
Execution halted

Редактировать: вывод

 > str(sc_list)
    List of 4
     $ sc_1:Formal class 'SingleCellExperiment' [package "SingleCellExperiment"] with 10 slots
      .. ..@ int_elementMetadata:Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. ..@ rownames       : NULL
      .. .. .. ..@ nrows          : int 33694
      .. .. .. ..@ listData       :List of 2
      .. .. .. .. ..$ is_spike_MT: logi [1:33694] FALSE FALSE FALSE FALSE FALSE FALSE ...
      .. .. .. .. ..$ is_spike   : logi [1:33694] FALSE FALSE FALSE FALSE FALSE FALSE ...
      .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. ..@ elementMetadata: NULL
      .. .. .. ..@ metadata       : list()
      .. ..@ int_colData        :Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. ..@ rownames       : NULL
      .. .. .. ..@ nrows          : int 5586
      .. .. .. ..@ listData       : Named list()
      .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. ..@ elementMetadata: NULL
      .. .. .. ..@ metadata       : list()
      .. ..@ int_metadata       :List of 2
      .. .. ..$ version    :Classes 'package_version', 'numeric_version'  hidden list of 1
      .. .. .. ..$ : int [1:3] 1 0 0
      .. .. ..$ spike_names: chr "MT"
      .. ..@ reducedDims        :Formal class 'SimpleList' [package "S4Vectors"] with 4 slots
      .. .. .. ..@ listData       : list()
      .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. ..@ elementMetadata: NULL
      .. .. .. ..@ metadata       : list()
      .. ..@ rowRanges          :Formal class 'GRangesList' [package "GenomicRanges"] with 5 slots
      .. .. .. ..@ unlistData     :Formal class 'GRanges' [package "GenomicRanges"] with 6 slots
      .. .. .. .. .. ..@ seqnames       :Formal class 'Rle' [package "S4Vectors"] with 4 slots
      .. .. .. .. .. .. .. ..@ values         : Factor w/ 0 levels: 
      .. .. .. .. .. .. .. ..@ lengths        : int(0) 
      .. .. .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. .. .. ..@ metadata       : list()
      .. .. .. .. .. ..@ ranges         :Formal class 'IRanges' [package "IRanges"] with 6 slots
      .. .. .. .. .. .. .. ..@ start          : int(0) 
      .. .. .. .. .. .. .. ..@ width          : int(0) 
      .. .. .. .. .. .. .. ..@ NAMES          : NULL
      .. .. .. .. .. .. .. ..@ elementType    : chr "integer"
      .. .. .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. .. .. ..@ metadata       : list()
      .. .. .. .. .. ..@ strand         :Formal class 'Rle' [package "S4Vectors"] with 4 slots
      .. .. .. .. .. .. .. ..@ values         : Factor w/ 3 levels "+","-","*": 
      .. .. .. .. .. .. .. ..@ lengths        : int(0) 
      .. .. .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. .. .. ..@ metadata       : list()
      .. .. .. .. .. ..@ elementMetadata:Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. .. .. .. .. ..@ rownames       : NULL
      .. .. .. .. .. .. .. ..@ nrows          : int 0
      .. .. .. .. .. .. .. ..@ listData       : Named list()
      .. .. .. .. .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. .. .. ..@ metadata       : list()
      .. .. .. .. .. ..@ seqinfo        :Formal class 'Seqinfo' [package "GenomeInfoDb"] with 4 slots
      .. .. .. .. .. .. .. ..@ seqnames   : chr(0) 
      .. .. .. .. .. .. .. ..@ seqlengths : int(0) 
      .. .. .. .. .. .. .. ..@ is_circular: logi(0) 
      .. .. .. .. .. .. .. ..@ genome     : chr(0) 
      .. .. .. .. .. ..@ metadata       : list()
      .. .. .. ..@ elementMetadata:Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. .. .. ..@ rownames       : NULL
      .. .. .. .. .. ..@ nrows          : int 33694
      .. .. .. .. .. ..@ listData       :List of 11
      .. .. .. .. .. .. ..$ id                   : chr [1:33694] "ENSG00000243485" "ENSG00000237613" "ENSG00000186092" "ENSG00000238009" ...
      .. .. .. .. .. .. ..$ symbol               : chr [1:33694] "RP11-34P13.3" "FAM138A" "OR4F5" "RP11-34P13.7" ...
      .. .. .. .. .. .. ..$ is_feature_control   : logi [1:33694] FALSE FALSE FALSE FALSE FALSE FALSE ...
      .. .. .. .. .. .. ..$ is_feature_control_MT: logi [1:33694] FALSE FALSE FALSE FALSE FALSE FALSE ...
      .. .. .. .. .. .. ..$ mean_counts          : num [1:33694] 0 0 0 0.000895 0.000179 ...
      .. .. .. .. .. .. ..$ log10_mean_counts    : num [1:33694] 0.00 0.00 0.00 3.89e-04 7.77e-05 ...
      .. .. .. .. .. .. ..$ rank_counts          : num [1:33694] 6741 6741 6741 18054 14520 ...
      .. .. .. .. .. .. ..$ n_cells_counts       : int [1:33694] 0 0 0 5 1 0 0 0 611 542 ...
      .. .. .. .. .. .. ..$ pct_dropout_counts   : num [1:33694] 100 100 100 99.9 100 ...
      .. .. .. .. .. .. ..$ total_counts         : num [1:33694] 0 0 0 5 1 0 0 0 661 617 ...
      .. .. .. .. .. .. ..$ log10_total_counts   : num [1:33694] 0 0 0 0.778 0.301 ...
      .. .. .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. ..@ metadata       : list()
      .. .. .. ..@ partitioning   :Formal class 'PartitioningByEnd' [package "IRanges"] with 5 slots
      .. .. .. .. .. ..@ end            : int [1:33694] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. .. ..@ NAMES          : chr [1:33694] "ENSG00000243485" "ENSG00000237613" "ENSG00000186092" "ENSG00000238009" ...
      .. .. .. .. .. ..@ elementType    : chr "integer"
      .. .. .. .. .. ..@ elementMetadata: NULL
      .. .. .. .. .. ..@ metadata       : list()
      .. .. .. ..@ elementType    : chr "GRanges"
      .. .. .. ..@ metadata       : list()
      .. ..@ colData            :Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. ..@ rownames       : chr [1:5586] "AAACCTGAGAAGGTTT-1" "AAACCTGAGCGTTCCG-1" "AAACCTGAGTACGTAA-1" "AAACCTGGTAAACACA-1" ...
      .. .. .. ..@ nrows          : int 5586
      .. .. .. ..@ listData       :List of 30
      .. .. .. .. ..$ dataset                               : int [1:5586] 1 1 1 1 1 1 1 1 1 1 ...
      .. .. .. .. ..$ barcode                               : chr [1:5586] "AAACCTGAGAAGGTTT-1" "AAACCTGAGCGTTCCG-1" "AAACCTGAGTACGTAA-1" "AAACCTGGTAAACACA-1" ...
      .. .. .. .. ..$ total_features                        : int [1:5586] 1373 1837 2259 802 2601 1967 1236 1642 1153 1078 ...
      .. .. .. .. ..$ log10_total_features                  : num [1:5586] 3.14 3.26 3.35 2.9 3.42 ...
      .. .. .. .. ..$ total_counts                          : num [1:5586] 3380 7332 10099 1833 12184 ...
      .. .. .. .. ..$ log10_total_counts                    : num [1:5586] 3.53 3.87 4 3.26 4.09 ...
      .. .. .. .. ..$ pct_counts_top_50_features            : num [1:5586] 33.1 38.9 42.5 40.9 42.2 ...
      .. .. .. .. ..$ pct_counts_top_100_features           : num [1:5586] 45 54.8 59.2 53.7 53.5 ...
      .. .. .. .. ..$ pct_counts_top_200_features           : num [1:5586] 57.5 66.9 69 66.4 64.7 ...
      .. .. .. .. ..$ pct_counts_top_500_features           : num [1:5586] 74.2 79.2 79.4 83.5 76.8 ...
      .. .. .. .. ..$ total_features_endogenous             : int [1:5586] 1373 1837 2259 802 2601 1967 1236 1642 1153 1078 ...
      .. .. .. .. ..$ log10_total_features_endogenous       : num [1:5586] 3.14 3.26 3.35 2.9 3.42 ...
      .. .. .. .. ..$ total_counts_endogenous               : num [1:5586] 3380 7332 10099 1833 12184 ...
      .. .. .. .. ..$ log10_total_counts_endogenous         : num [1:5586] 3.53 3.87 4 3.26 4.09 ...
      .. .. .. .. ..$ pct_counts_endogenous                 : num [1:5586] 100 100 100 100 100 100 100 100 100 100 ...
      .. .. .. .. ..$ pct_counts_top_50_features_endogenous : num [1:5586] 33.1 38.9 42.5 40.9 42.2 ...
      .. .. .. .. ..$ pct_counts_top_100_features_endogenous: num [1:5586] 45 54.8 59.2 53.7 53.5 ...
      .. .. .. .. ..$ pct_counts_top_200_features_endogenous: num [1:5586] 57.5 66.9 69 66.4 64.7 ...
      .. .. .. .. ..$ pct_counts_top_500_features_endogenous: num [1:5586] 74.2 79.2 79.4 83.5 76.8 ...
      .. .. .. .. ..$ total_features_feature_control        : int [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ log10_total_features_feature_control  : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ total_counts_feature_control          : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ log10_total_counts_feature_control    : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ pct_counts_feature_control            : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ total_features_MT                     : int [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ log10_total_features_MT               : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ total_counts_MT                       : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ log10_total_counts_MT                 : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ pct_counts_MT                         : num [1:5586] 0 0 0 0 0 0 0 0 0 0 ...
      .. .. .. .. ..$ is_cell_control                       : logi [1:5586] FALSE FALSE FALSE FALSE FALSE FALSE ...
      .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. ..@ elementMetadata: NULL
      .. .. .. ..@ metadata       : list()
      .. ..@ assays             :Reference class 'ShallowSimpleListAssays' [package "SummarizedExperiment"] with 1 field
      .. .. ..$ data: NULL
      .. .. ..and 14 methods.
      .. ..@ NAMES              : NULL
      .. ..@ elementMetadata    :Formal class 'DataFrame' [package "S4Vectors"] with 6 slots
      .. .. .. ..@ rownames       : NULL
      .. .. .. ..@ nrows          : int 33694
      .. .. .. ..@ listData       : Named list()
      .. .. .. ..@ elementType    : chr "ANY"
      .. .. .. ..@ elementMetadata: NULL
      .. .. .. ..@ metadata       : list()
      .. ..@ metadata           :List of 1
      .. .. ..$ name: chr "iMates-1"




Here is one of the four objects.

Может кто-нибудь из васПомоги мне.

Спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Я предполагаю, sc_list это список списков, верно?Если да, можете ли вы проверить, работает ли следующий код?

sc_list=mget(sc)
for (i in 1:5)
sc_list[[i]]$ue <- cF(sc_list[[i]], 2500, 1000, 5)
...