我已经进行了一项实验分析,现在我有一个庞大的列表,不幸的是,它以以下方式具有两个标题:
Image Nuclei Cell
Metadata_s Children_Cells_Count Intensity_IntegratedIntensityEdge_ERKStain
C4 1 39.03921669
... ... ...
由于此文档中有65行(7x图像,35x Nuclei和23x细胞),我想使用R来自动合并这两列,因为我需要在同一列中将它们合并,如下所示:< / p>
Image_Metadata_s Nuclei_Children_Cells_Count Cell_Intensity_IntegratedIntensityEdge_ERKStain
C4 1 39.03921669
... ... ...
您知道吗,我该如何解决这个问题?我想有一个使用tidyverse librar的解决方案,但是到目前为止,我还没有找到任何解决该问题的方法,如果你们中有人可以帮助我,我将非常有帮助。
非常感谢您!
答案 0 :(得分:1)
我想您需要paste
标题的第一行,然后删除该行
names(df) <- paste(names(df), df[1, ], sep = "_")
df[-1,]
确保将列读为字符而不是要素。您可以通过执行以下操作将它们更改为字符
df[] <- lapply(df, as.character)
答案 1 :(得分:1)
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