df1 <- read.csv("C:/Users/uni/DS-project/df1.csv")
df1
year value
1 2000 1
2 2001 2
3 2002 3
4 2003 4
5 2004 5
6 2000 1
7 2001 2
8 2002 3
9 2003 4
10 2004 5
11 2000 1
12 2001 2
13 2002 3
14 2003 4
15 2004 5
16 2000 1
17 2001 2
18 2002 3
19 2003 4
20 2004 5
我想加铅,这样我就可以按照以下方式获得输出。
我们设置了每年重复进行n次的5次观测,在第一年的输出中,我们需要删除2000及其相应的值,对于第二年,我们忽略2000和2001及其相应的值,对于第三年移除-2000、2001、2002及其相应的值。等等。
,以便我们可以通过以下方式获得以下输出。
output:
year value
2000 1
2001 2
2002 3
2003 4
2004 5
2001 2
2002 3
2003 4
2004 5
2002 3
2003 4
2004 5
2003 4
2004 5
请帮助。
答案 0 :(得分:2)
只是为了好玩,使用矩阵子设置添加矢量化解决方案
let arr = [{id:0, value: "zero"},
{id:1, value: "one"},
{id:2, value: ''}];
console.log(arr.filter(a => a.value != ''));
答案 1 :(得分:1)
在grp
下,第一组的每一行为1,第二组的第二行,依此类推。对于每个grp的连续行,Seq
是1,2,3,...。现在,只需选择Seq
至少与grp
一样大的行。对于i = 1,2,...,这具有从第i个组中删除前i-1行的效果。
grp <- cumsum(df1$year == 2000)
Seq <- ave(grp, grp, FUN = seq_along)
subset(df1, Seq >= grp)
我们可以用较不通用的形式写出来:
subset(df1, 1:5 >= rep(1:4, each = 5))
在任何情况下,任一子集语句的输出均为:
year value
1 2000 1
2 2001 2
3 2002 3
4 2003 4
5 2004 5
7 2001 2
8 2002 3
9 2003 4
10 2004 5
13 2002 3
14 2003 4
15 2004 5
19 2003 4
20 2004 5
答案 2 :(得分:1)
library(dplyr)
df %>%
group_by(g = cumsum(year == 2000)) %>%
filter(row_number() >= g) %>%
ungroup %>%
select(-g)
# # A tibble: 14 x 2
# year value
# <int> <int>
# 1 2000 1
# 2 2001 2
# 3 2002 3
# 4 2003 4
# 5 2004 5
# 6 2001 2
# 7 2002 3
# 8 2003 4
# 9 2004 5
# 10 2002 3
# 11 2003 4
# 12 2004 5
# 13 2003 4
# 14 2004 5
答案 3 :(得分:0)
使用lapply()
:
to <- nrow(df) / 5 - 1
df[-unlist(lapply(1:to, function(x) seq(1:x) + 5*x)), ]
year value
1 2000 1
2 2001 2
3 2002 3
4 2003 4
5 2004 5
7 2001 2
8 2002 3
9 2003 4
10 2004 5
13 2002 3
14 2003 4
15 2004 5
19 2003 4
20 2004 5
unlist(lapply(1:to, function(x) seq(1:x) + 5*x))
是要跳过的索引:
[1] 6 11 12 16 17 18
答案 4 :(得分:0)
使用admin/config/services
:
function bright_menu() {
$items = array();
$items['admin/config/services/bright'] = array(
'title' => 'Bright',
'description' => 'Configuration for Bright module',
'page callback' => 'drupal_get_form',
'page arguments' => array('bright_form'),
'access arguments' => array('access administration pages'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
它如何工作:
sequence