ggbiplot - как не использовать векторы признаков в сюжете
У меня есть набор данных $cell_line.sva с dim 313 11875.
cc.pca <- prcomp(data$cell_line.sva, center = TRUE, scale. = TRUE, retx = TRUE)
g <- ggbiplot(cc.pca, obs.scale = 1, var.scale = 1, groups = as.factor(cgpResponse), ellipse = TRUE, circle = FALSE)
Как я могу избавиться от названий функций? (красный текст)
4 ответа
Я не могу понять, как это даст полезный результат, но здесь все равно. Имена - это не то, что функция позволяет вам подавлять с помощью настроек параметров, по крайней мере, до моего прочтения кода и страницы справки. Таким образом, глядя на код, кажется, что метки для факторов извлекаются из элемента $ rotations объекта prcomp. Попытка установить все эти имена на пустой символ создала ошибку, поэтому мне удалось установить значение переменной длины пробелов.
data(wine) # need a reproducible example so use the help page
wine.pca <- prcomp(wine, scale. = TRUE)
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class, ellipse = TRUE, circle = TRUE))
# that was the equivalent of your plot
# Now change the input value
dimnames(wine.pca$rotation)[[1]] <-
Reduce(function(x,y) paste0(x,y), # function to concatentate the lanks
rep(" ",dim(wine.pca$rotation)[1]), # corrrect number of blanks
acc=TRUE) # save all intermediate strings
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class,
ellipse = TRUE, circle = TRUE))
#Look, Ma! No labels
Я не могу просто комментировать, потому что у меня еще нет необходимых очков репутации, но удаление стрелок и имен работает довольно легко, установив var.axes
ложно:
ggbiplot(wine.pca, obs.scale = 1, var.scale = 1,
groups = wine.class, ellipse = TRUE,
circle = TRUE, var.axes=FALSE)
Вам нужно использовать аргумент varname.size, чтобы сделать это.
Используя пример из документации:
data(wine)
wine.pca <- prcomp(wine, scale. = TRUE)
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1,
groups = wine.class, ellipse = TRUE, circle = TRUE))
и затем добавьте аргумент varname.size:
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1,
groups = wine.class, ellipse = TRUE, circle = TRUE,
varname.size=0)) #set it to zero
И у вас есть то, что вы хотите!
Хорошо, так что я делаю это очень грубо, выполняя свою работу.
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1,
groups = wine.class, ellipse = TRUE, circle = TRUE,
varname.size=0, varname.adjust = 20))
Он просто устанавливает смещение для имен переменных за пределы графика.