#r
#r
Вопрос:
Я пытаюсь запустить этот код в своих результатах DESeq2:
res2 <- res %>%
dplyr::select(symbol, log2FoldChange) %>%
na.omit() %>%
distinct() %>%
group_by(symbol) %>%
summarize(log2FoldChange=mean(log2FoldChange))
Но я получаю эту ошибку:
Error in dplyr::select(symbol, log2FoldChange) :
object 'symbol' not found
Когда я оцениваю объект ‘res’, я получаю:
> head(res)
# A tibble: 6 x 8
rn baseMean log2FoldChange lfcSE stat pvalue padj symbol
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
1 ENSG00000000003 2040. 0.0814 0.131 0.620 0.535 0.930 TSPAN6
2 ENSG00000000005 5.54 -0.104 0.499 -0.209 0.834 0.982 TNMD
3 ENSG00000000419 1828. 0.0390 0.0886 0.440 0.660 0.954 DPM1
4 ENSG00000000457 1114. -0.0382 0.0803 -0.476 0.634 0.949 SCYL3
5 ENSG00000000460 663. 0.0394 0.0921 0.428 0.669 0.957 C1orf112
6 ENSG00000000938 918. -0.0434 0.273 -0.159 0.874 0.987 FGR
Есть какие-нибудь мысли о том, почему я получаю эту ошибку?
Спасибо!
Редактировать: Дополнительная информация по запросу
> dput(head(res))
structure(list(baseMean = c(2040.17521944921, 5.53609220799949,
1828.04839454014, 1114.39825326351, 663.272170737668, 917.926275504702
), log2FoldChange = c(0.0814012199675586, -0.104396236568964,
0.0389707604672832, -0.0382384463698326, 0.0394052136314087,
-0.0433716144240011), lfcSE = c(0.131233608151441, 0.499358140892215,
0.0885766164675523, 0.0802904557652864, 0.0921313457310054, 0.273241538579558
), stat = c(0.620277237776039, -0.209060848357127, 0.43996668671081,
-0.476251454863021, 0.427706914717815, -0.158729945122794), pvalue = c(0.535075278167851,
0.834400737814053, 0.659961235306142, 0.633895245664946, 0.668864514978433,
0.873881644474217), padj = c(0.929599472449125, 0.981580093253924,
0.95444406250506, 0.948683101642693, 0.956624174981231, 0.986958116649299
), symbol = c("TSPAN6", "TNMD", "DPM1", "SCYL3", "C1orf112",
"FGR")), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
))
>
Также:
names(res)
[1] "baseMean" "log2FoldChange" "lfcSE" "stat" "pvalue" "padj" "symbol"
>
Комментарии:
1. Не удается воспроизвести ошибку с
1.0.1
версией dplyr2. Можете ли вы проверить, есть ли начальные / запаздывающие пробелы в именах столбцов, т.Е.
names(res)
3. Вместо того, чтобы просто делиться
head()
, пожалуйста, поделитесьdput(head(res))
4. Я думаю, @akrun в курсе вашей проблемы. Запустите
names(res)[7]
и убедитесь, что имя столбца совпадает с тем, которое вы используете в своем коде (т.Е.names(res)[7] == "symbol"
должно возвращать TRUE).5. Я получаю ошибку, если оставляю ваши
знаки в своем коде. Если вы используете
%>%
, вэтом нет необходимости.