r - 指定列应放置在 r 中的位置
问题描述
当我创建一个新变量时,有没有办法在函数中指定放置它的位置?
现在,它将它添加到数据框的末尾,但是为了便于在 Excel 中查看,例如,我想在我用于计算的列旁边放置一个新的计算列。
这是一个代码示例:
rawdata2 <- (rawdata1 %>% unite(location, locations1,locations2, locations3,
na.rm = TRUE, remove=TRUE)
%>% select(-location7, -location16)
%>% unite(Sector, Sectors, na.rm=TRUE, remove=TRUE)
%>% unite(TypeofSpace, TypesofSpace, type.of.spaceOther, na.rm=TRUE,
remove=TRUE)
)
解决方案
您可以重新排列数据框中的列。看起来你dplyr::select
在你的例子中使用。
library(dplyr)
head(mtcars)
# mpg cyl disp hp drat wt qsec vs am gear carb
# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
# Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
mtcars2 <- mtcars %>%
select(mpg, carb, everything()) ## moves carb up behind mpg
head(mtcars2)
# mpg carb cyl disp hp drat wt qsec vs am gear
# Mazda RX4 21.0 4 6 160 110 3.90 2.620 16.46 0 1 4
# Mazda RX4 Wag 21.0 4 6 160 110 3.90 2.875 17.02 0 1 4
# Datsun 710 22.8 1 4 108 93 3.85 2.320 18.61 1 1 4
# Hornet 4 Drive 21.4 1 6 258 110 3.08 3.215 19.44 1 0 3
# Hornet Sportabout 18.7 2 8 360 175 3.15 3.440 17.02 0 0 3
# Valiant 18.1 1 6 225 105 2.76 3.460 20.22 1 0 3
您可以对基本子集执行相同的操作,例如,对于具有 11 列的数据框,您可以将第 11 个移到第二个后面
mtcars3 <- mtcars[,c(1,11,2:10)]
identical(mtcars2, mtcars3)
# [1] TRUE
推荐阅读
- batch-file - 如果在文件中找到“值”,则执行 if 语句
- python - 计算数据框列中真/假的出现次数
- javascript - 自定义去抖动功能不适用于匿名函数
- sql - Oracle SQL round up time interval to next day
- lodash - Angular 项目中的 Lodash 漏洞
- excel - excel 2016:如何允许不同的用户编辑不同范围的单元格
- c# - Selenium 和 KendoUI 下拉菜单
- amazon-web-services - Azure DevOps 管道
- linux - 在 PuTTY 连接中更改目录
- c++ - “__rotatel4”的名称查找未找到声明