r - 如何创建一个新列,对 R 中现有列中的变量进行分组?
问题描述
我有一个数据集,其中包含研究站点上的一列数据(X1_What_site_are_you)。有8个因素。我想创建一个新列,按它们的栖息地类型对这些因素进行分组,其中 4 个因素代表林地(Mann's Copse 1、Mann's Copse 2、Nash's Copse 1、Nash's Copse 2)和 4 个代表田地的因素(Nash's Field 1、Nash's场 2,苗圃场 1,苗圃场 2)。
下面是数据结构:
'data.frame': 560 obs. of 16 variables:
$ title : chr "Mann's Copse 1 18/02/2021" "Mann's Copse 1 18/02/2021" "Mann's Copse 1 18/02/2021" "Mann's Copse 1 18/02/2021" ...
$ X1_What_site_are_you_ : Factor w/ 8 levels "Mann's Copse 1",..: 1 1 1 1 1 1 1 1 1 1 ...
$ lat_2_What_are_the_GPS_c : num 51.4 51.4 51.4 51.4 51.4 ...
$ long_2_What_are_the_GPS_c : num -0.653 -0.653 -0.653 -0.653 -0.653 ...
$ accuracy_2_What_are_the_GPS_c : int 27 27 27 27 27 6 6 6 6 6 ...
$ UTM_Northing_2_What_are_the_GPS_c: int 5698309 5698309 5698309 5698309 5698309 5698310 5698310 5698310 5698310 5698310 ...
$ UTM_Easting_2_What_are_the_GPS_c : int 663238 663238 663238 663238 663238 663239 663239 663239 663239 663239 ...
$ UTM_Zone_2_What_are_the_GPS_c : chr "30U" "30U" "30U" "30U" ...
$ X3_What_date_is_it : chr "18/02/2021" "18/02/2021" "18/02/2021" "18/02/2021" ...
$ X4_What_time_is_it : chr "17:15:02" "17:15:02" "17:15:02" "17:15:02" ...
$ X5_What_are_your_init : chr "JAJ" "JAJ" "JAJ" "JAJ" ...
$ Count : int 1 2 3 4 5 1 2 3 4 5 ...
$ robinalarm : int 0 0 0 0 0 0 0 0 1 0 ...
$ robincall : int 0 0 1 0 0 0 1 4 4 3 ...
$ robinsound : int 0 0 1 0 0 0 1 4 5 3 ...
$ birdsight : int 24 0 0 0 0 24 0 1 0 0 ...
解决方案
备查:
##CREATE HABITAT COLUMN
birds["Habitat"] <- rep(0, 560)
# Run a for loop
for (i in 1:nrow(birds)){
if (str_detect(birds[i, 2], "Copse") == "TRUE"){
birds[i, 17] <- "Forest".
}
else {
birds[i, 17] <- "Grassland"
}
}
- 在此示例中,将 rep 设置为数据集中的列数(例如
rep(0,x)
) - 其中
str_detect(birds[i,2],
2 表示因子所在的列号 - 其中
birds[i,17]
17 表示输入新分组变量的新列
推荐阅读
- ruby-on-rails - 如何在 ActionCable `subscribed` 方法中查找模型
- sql-server - MS ACCESS 2013-2016 连续表单在通过 ADO 连接到 SQL SERVER 时添加任何超过第 3 条的记录时显示错误。这可以解决吗?
- multithreading - 包配置文件中的 find_dependency(Threads) 或 include(FindThreads)
- python - 在numpy ndarray的子类中覆盖.T(转置)
- sql - 具有主键索引时删除唯一索引
- java - 如何解析 YAML 文件
- html - 如何在不重定向的情况下使下载属性工作?
- sql-server - SQL 数据库项目通过 jenkins 构建和发布
- python - 在 IoT Analytics 中触发的 Lambda 函数将 POST 请求发送到外部 API
- node.js - nodejs ntlm 获取用户组