step_geodist()
创建配方步骤的规范,该步骤将计算Map上的点与参考位置之间的距离。
用法
step_geodist(
recipe,
lat = NULL,
lon = NULL,
role = "predictor",
trained = FALSE,
ref_lat = NULL,
ref_lon = NULL,
is_lat_lon = TRUE,
log = FALSE,
name = "geo_dist",
columns = NULL,
keep_original_cols = TRUE,
skip = FALSE,
id = rand_id("geodist")
)
参数
- recipe
-
一个菜谱对象。该步骤将添加到此配方的操作序列中。
- lon, lat
-
选择器函数用于选择步骤使用哪些变量。有关更多详细信息,请参阅
selections()
。 - role
-
对于此步骤创建的模型项,应为其分配什么分析角色?默认情况下,此步骤根据原始变量创建的新列将用作模型中的预测变量。
- trained
-
指示预处理数量是否已估计的逻辑。
- ref_lon, ref_lat
-
参考点位置的单个数值。
- is_lat_lon
-
逻辑:坐标是纬度和经度吗?如果
TRUE
使用Haversine公式,返回结果为米。如果FALSE
使用毕达哥拉斯公式。默认值为TRUE
,对于从以前版本的配方创建的配方,使用值FALSE
。 - log
-
逻辑:距离应该通过自然对数函数转换吗?
- name
-
用于新预测变量列的单个字符值。如果存在具有该名称的列,则会发出错误。
- columns
-
所选变量名称的字符串。该字段是一个占位符,一旦使用
prep()
就会被填充。 - keep_original_cols
-
将原始变量保留在输出中的逻辑。默认为
FALSE
。 - skip
-
一个合乎逻辑的。当
bake()
烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在prep()
运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用skip = TRUE
时应小心,因为它可能会影响后续操作的计算。 - id
-
该步骤特有的字符串,用于标识它。
细节
如果 is_lat_lon
为 FALSE,step_geodist
使用毕达哥拉斯定理计算欧几里德距离。如果 is_lat_lon
为 TRUE,则使用半正弦公式计算 great-circle 距离(以米为单位)。
整理
当您 tidy()
此步骤时,将返回一个 tibble,其列回显 lat
、 lon
、 ref_lat
、 ref_lon
、 is_lat_lon
、 name
和 id
的值。
也可以看看
其他多元变换步骤:step_classdist_shrunken()
, step_classdist()
, step_depth()
, step_ica()
, step_isomap()
, step_kpca_poly()
, step_kpca_rbf()
, step_kpca()
, step_mutate_at()
, step_nnmf_sparse()
, step_nnmf()
, step_pca()
, step_pls()
, step_ratio()
, step_spatialsign()
例子
data(Smithsonian, package = "modeldata")
# How close are the museums to Union Station?
near_station <- recipe(~., data = Smithsonian) %>%
update_role(name, new_role = "location") %>%
step_geodist(
lat = latitude, lon = longitude, log = FALSE,
ref_lat = 38.8986312, ref_lon = -77.0062457,
is_lat_lon = TRUE
) %>%
prep(training = Smithsonian)
bake(near_station, new_data = NULL) %>%
arrange(geo_dist)
#> # A tibble: 20 × 4
#> name latitude longitude geo_dist
#> <fct> <dbl> <dbl> <dbl>
#> 1 National Postal Museum 38.9 -77.0 367.
#> 2 Renwick Gallery 38.9 -77.0 932.
#> 3 National Museum of the American Indian 38.9 -77.0 1571.
#> 4 Smithsonian American Art Museum 38.9 -77.0 1636.
#> 5 National Portrait Gallery 38.9 -77.0 1646.
#> 6 National Air and Space Museum 38.9 -77.0 1796.
#> 7 Hirshhorn Museum and Sculpture Garden 38.9 -77.0 2008.
#> 8 National Museum of Natural History 38.9 -77.0 2073.
#> 9 Arthur M. Sackler Gallery 38.9 -77.0 2108.
#> 10 Arts and Industries Building 38.9 -77.0 2124.
#> 11 Smithsonian Institution Building 38.9 -77.0 2193.
#> 12 National Museum of African Art 38.9 -77.0 2202.
#> 13 Freer Gallery of Art 38.9 -77.0 2266.
#> 14 National Museum of American History 38.9 -77.0 2393.
#> 15 National Museum of African American Histor… 38.9 -77.0 2611.
#> 16 National Zoological Park 38.9 -77.1 5246.
#> 17 Anacostia Community Museum 38.9 -77.0 5332.
#> 18 Steven F. Udvar-Hazy Center 38.9 -77.4 38111.
#> 19 George Gustav Heye Center 40.7 -74.0 324871.
#> 20 Cooper Hewitt, Smithsonian Design Museum 40.8 -74.0 334041.
tidy(near_station, number = 1)
#> # A tibble: 1 × 7
#> latitude longitude ref_latitude ref_longitude is_lat_lon name id
#> <chr> <chr> <dbl> <dbl> <lgl> <chr> <chr>
#> 1 latitude longitude 38.9 -77.0 TRUE geo_dist geodi…
相关用法
- R recipes step_unknown 将缺失的类别分配给“未知”
- R recipes step_relu 应用(平滑)修正线性变换
- R recipes step_poly_bernstein 广义伯恩斯坦多项式基
- R recipes step_impute_knn 通过 k 最近邻进行插补
- R recipes step_impute_mean 使用平均值估算数值数据
- R recipes step_inverse 逆变换
- R recipes step_pls 偏最小二乘特征提取
- R recipes step_ratio 比率变量创建
- R recipes step_nzv 近零方差滤波器
- R recipes step_nnmf 非负矩阵分解信号提取
- R recipes step_normalize 中心和比例数值数据
- R recipes step_depth 数据深度
- R recipes step_other 折叠一些分类级别
- R recipes step_harmonic 添加正弦和余弦项以进行谐波分析
- R recipes step_corr 高相关滤波器
- R recipes step_novel 新因子水平的简单赋值
- R recipes step_select 使用 dplyr 选择变量
- R recipes step_regex 检测正则表达式
- R recipes step_spline_b 基础样条
- R recipes step_window 移动窗口函数
- R recipes step_ica ICA 信号提取
- R recipes step_discretize 离散数值变量
- R recipes step_dummy_multi_choice 一起处理多个预测变量的水平
- R recipes step_lincomb 线性组合滤波器
- R recipes step_filter_missing 缺失值列过滤器
注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Distance between two locations。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。