Объединение двух строк в один заголовок с помощью R - PullRequest
0 голосов
/ 10 декабря 2018

Я провел экспериментальный анализ, и теперь у меня есть огромный список, который, к сожалению, имеет два заголовка следующим образом:

Image       Nuclei                  Cell
Metadata_s  Children_Cells_Count    Intensity_IntegratedIntensityEdge_ERKStain
C4          1                       39.03921669
...         ...                     ...

Поскольку в этом документе 65 строк (7x Image, 35x Nuclei и23x ячеек), я хотел бы иметь автоматический способ использования R для слияния этих двух столбцов, потому что они нужны мне в одном столбце, а именно:

Image_Metadata_s    Nuclei_Children_Cells_Count     Cell_Intensity_IntegratedIntensityEdge_ERKStain
C4                  1                               39.03921669
...                 ...                             ...

Кто-нибудь из вас знает, как я могу нацеливаться?Эта проблема?Я предполагаю, что есть решение с использованием tidyverse librar, но пока я не нашел ничего, чтобы решить эту проблему, и я был бы очень полезен, если бы кто-то из вас мог помочь мне.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018
library(data.table)
df <- as.data.table(read.table(text = "Image       Nuclei                  Cell
                 Metadata_s  Children_Cells_Count    Intensity_IntegratedIntensityEdge_ERKStain
                 C4          1                       39.03921669",header = T))

for(col in names(df))
{setnames(df,col,paste0(col,"_",df[1,get(col)]))}
df <- df[-1]

  Image_Metadata_s Nuclei_Children_Cells_Count Cell_Intensity_IntegratedIntensityEdge_ERKStain
1:               C4                           1                                     39.03921669
0 голосов
/ 10 декабря 2018

Я думаю, вам нужно paste первая строка в заголовке, а затем удалить строку

names(df) <- paste(names(df), df[1, ], sep = "_")
df[-1,]

Убедитесь, что столбцы читаются как символы, а не как факторы.Вы можете изменить их на характер, выполнив

df[] <- lapply(df, as.character)
...