我们有学区数据,其中的列是特定于当地的信息(例如,免费和减价午餐的百分比)和相应的全州值。
dat <- tribble(
~state.poverty, ~state.EL, ~state.disability, ~state.frpl, ~local.poverty, ~local.frpl, ~local.disability, ~local.EL,
12.50592, 0.08342419, 0.12321831, 0.4495395, 25.23731, 0.6415712, 0.140739, 0.1469898)
dat
# A tibble: 1 x 8
state.poverty state.EL state.disability state.frpl local.poverty local.frpl local.disability local.EL
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 12.5 0.0834 0.123 0.450 25.2 0.642 0.141 0.147
我们想重塑它,使其看起来像这样。
demog state local
<chr> <dbl> <dbl>
1 poverty 12.5 25.2
2 EL 0.0834 0.147
3 disability 0.123 0.141
4 frpl 0.450 0.642
看起来像pivot_longer应该能够处理的事情,但到目前为止我还没有取得太大的成功。有什么建议吗?
答案 0 :(得分:6)
我们可以使用$query = new WC_Product_Query( array(
// 'limit' => -1,
// 'orderby' => 'date',
// 'order' => 'DESC',
'return' => 'ids',
'meta_query' => array(
array(
'key' => '_price',
'value' => array($_GET['min_price'], $_GET['max_price']),
'compare' => 'BETWEEN',
'type' => 'DECIMAL'
),
// array(
// 'key' => 'year',
// 'value' => array($_GET['from_year'], $_GET['to_year']),
// 'compare' => 'BETWEEN',
// 'type' => 'NUMERIC'
// ),
),
) );
$searches = $query->get_products();
pivot_longer
-输出
library(dplyr)
library(tidyr)
dat %>%
pivot_longer(cols = everything(),
names_to = c(".value", "demog"), names_sep = "\\.")
答案 1 :(得分:3)
使用 reshape
的基本 R 选项
reshape(
dat,
direction = "long",
varying = 1:ncol(dat)
)
给予
# A tibble: 4 x 4
time state local id
<chr> <dbl> <dbl> <int>
1 poverty 12.5 25.2 1
2 EL 0.0834 0.642 1
3 disability 0.123 0.141 1
4 frpl 0.450 0.147 1