Преобразование столбца в имена строк в кадре данных без добавления X - PullRequest
1 голос
/ 10 апреля 2019

Я хотел бы преобразовать числовые значения в столбце существующего фрейма данных в имена строк. Можно ли сделать это без добавления X к именам строк?

Пример кадра данных:

df1 = data.frame(names=c(111,20,32,45),
                 var=c("Gene1","Gene2","Gene3","Gene4"))

Кому:

df2 = df1

rownames(df2) = make.names(df2$names, unique=TRUE)

Спасибо

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Вы можете использовать column_to_rownames из tibble, который также удаляет столбец, который был преобразован в имена строк, т.е.

library(tibble)

column_to_rownames(df1, var = 'names')
#      var
#111 Gene1
#20  Gene2
#32  Gene3
#45  Gene4
0 голосов
/ 10 апреля 2019

Просто сделайте это следующим образом:

rownames(df2) = df2$names

Но, если у вас есть повторяющиеся имена и вы хотите сначала удалить дубликаты, вам необходимо сделать следующее:

df2 = df2[!duplicated(df2$names),]
rownames(df2) = df2$names

Надеюсь, это поможет.

...