4 回答
TA贡献1921条经验 获得超9个赞
您的数据框具有四列,如下所示df[,c(1,2,3,4)]。请注意,第一个逗号表示保留所有行,而1,2,3,4则指向列。
像上面的问题一样更改顺序 df2[,c(1,3,2,4)]
如果要将此文件输出为csv,请执行 write.csv(df2, file="somedf.csv")
TA贡献1865条经验 获得超7个赞
# reorder by column name
data <- data[c("A", "B", "C")]
#reorder by column index
data <- data[c(1,3,2)]
TA贡献1827条经验 获得超7个赞
您还可以使用子集功能:
data <- subset(data, select=c(3,2,1))
您最好像在其他答案中一样使用[]运算符,但是了解您可以在单个命令中执行子集和列重新排序操作可能会很有用。
更新:
您还可以使用dplyr软件包中的select函数:
data = data %>% select(Time, out, In, Files)
我不确定效率,但是由于dplyr的语法,这种解决方案应该更加灵活,特别是在您有很多专栏的情况下。例如,以下内容将以相反的顺序重新排列mtcars数据集的列:
mtcars %>% select(carb:mpg)
并且以下内容将仅对某些列重新排序,并丢弃其他列:
mtcars %>% select(mpg:disp, hp, wt, gear:qsec, starts_with('carb'))
- 4 回答
- 0 关注
- 795 浏览
添加回答
举报