2017-06-05 88 views
0

如何将一个原始数据帧转换为第一个原始数据,我希望原始数据是第一个原始数据。在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 
+0

什么是期望的输出?你想要问题的行是头? –

+0

是的,我想成为标题 –

+0

对于给定的csv,你可以'data.table :: fread(“given.csv”,skip = N)'其中N是要跳过的所需行数 – amonk

回答

0

你可以做以下(假设你的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生头 –

1

我们可以使用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 
+0

我做到了,但所有元素都转换为NA!怎么了! –

+0

@AgriiEnginee请检查您的数据的'str'。我认为它是所有'字符类 – akrun

+0

它dosnt工作! str是因子 –

相关问题