У меня есть фрейм данных, показанный ниже (df <- read_csv ("~ / data.csv"):
gene_id a b
abc100.12 30 70
abc101.23 40 80
abc102.345 50 90
abc103.4567 60 100
Я хочу изменить этот фрейм данных, как показано ниже:
gene_id a b
abc100 30 70
abc101 40 80
abc102 50 90
abc103 60 100
По сути, я хочу отбросить десятичные значения в столбце gene_id и оставить все остальное без изменений.
Если исходный фрейм данных - df (df <- read_csv("~/data.csv")
),
как я могу написать код R, чтобы у меня был фрейм данных, показанный выше?
df$gene_id <- sub("[.].*", "", df$gene_id)
Исправление моей опечатки dat$gene_id <- gsub(\\..*$, "", dat$gene_id)
.
Относится к stackoverflow.com/questions/10617702/… и другим.
Используйте этот сценарий, чтобы заменить значения после десятичной дроби на пробел:
rownames(df) <- gsub("\\..*", "", rownames(df))
если gene_id присваивается именам строк.
Вы назначаете это столбцам?
Данные были в исходном формате, а не в табличном виде, и мне показалось, что значения являются именами столбцов. Вопрос теперь отредактирован. Я исправил свой ответ, чтобы отразить изменение. Спасибо за заметку!
dat$gene_id <- gsub(\\.*$, "", dat$gene_id)
.