Я разместил свой вопрос на соответствующей странице GitHub для flowCore
, и ответ был предоставлен Джейкобом Вагнером .
GvHD[[1]]
является flowFrame
, а не простой фрейм данных, поэтому назначение NULL не работает. Базовое представление также является матрицей, которая также не поддерживает удаление столбца путем присвоения ему NULL
.
Если вы хотите удалить столбцы, вот несколько способов сделать это. Заметьте, что для всех этих я подставляю столбцы для всего flowSet
вместо того, чтобы циклически проходить через каждый flowFrame
. Но вы также можете выполнять эти операции для каждого flowFrame
.
Как упоминал Грег, выберите столбцы, которые вы хотите сохранить:
data(GvHD)
all_cols <- colnames(GvHD)
keep_cols <- all_cols[!(all_cols %in% c("FSC-H", "SSC-H"))]
GvHD[,keep_cols]
Или вы можете просто отфильтровать подмножество:
GvHD[,!colnames(GvHD) %in% c("FSC-H", "SSC-H")]
Вы также можете получить числовые индексы, которые хотите отбросить, и затем использовать отрицательное подмножество.
# drop_idx <- c(1,2)
drop_idx <- which(colnames(GvHD) %in% c("FSC-H", "SSC-H"))
GvHD[,-drop_idx]