如何将一行数据框移到第一行?
问题描述:
如何将一个原始数据帧转换为第一个原始数据,我希望原始数据是第一个原始数据。在R.如何将一行数据框移到第一行?
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
id A B C D
答
你可以做以下(假设你的ID是第N行):
df <- iris # Example of data.frame
myIdrow <- 5 # as an example id row
df2 <- df[c(myIdrow, (1:nrow(df))[-myIdrow]), ]
虽然我会建议有ID作为列名。
+0
我想要id raw be生头 –
答
我们可以使用grepl
来创建基于“Sepal.Length”的“身份证”的逻辑向量,然后通过提取该行同时从原始数据集移除该行设定的数据集的列名
i1 <- grepl("id", df1$Sepal.Length)
setNames(df1[!i1,], unlist(df1[i1,]))
# id A B C D
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
什么是期望的输出?你想要问题的行是头? –
是的,我想成为标题 –
对于给定的csv,你可以'data.table :: fread(“given.csv”,skip = N)'其中N是要跳过的所需行数 – amonk