Question: The generalized recurrence formula is

```
F[n_]:=F[n]=F[n-1]+F[n-p-1];

```

with the initial conditions

```
F[-p-1]=0; F[-p]=1; F[-p+1]=0; ...F[0]=0; F[1]=1; ... F[p+1]=1;.

```

Note that, for `p=1` `F[-1]=1;`. I want to find positive and negative values according to `p`. For example, If `p=2` then the formula has the form 

```
F[n_]:=F[n]=F[n-1]+F[n-3];

```

with initial conditions `F[0]=0; F[1]=1; F[2]=1;` (for positive numbers) and `F[0]=0; F[-1]=0; F[-2]=1;` (for negative numbers).

I have achieved the calculation of positive numbers but I didn't find numbers for negative `n` values. Is there any code for the calculation for this process? 

Thank you.

Answer: 
**Code:**

```
data = Association[{"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4}];
KeyDrop[data, {"a", "b"}]

```

**Output:**

```
(*<|"c" -> 3, "d" -> 4|>*)

```

**Reference:**  

[KeyDrop](https://reference.wolfram.com/language/ref/KeyDrop.html)

**Guide:**  

[Associations](https://reference.wolfram.com/language/guide/Associations.html)
all,

Here I try to paste the code as suggested by Sascha, and I include the suggestion from Kuba. Much thanks. (The error messages does not look right, though. If you know how to show them correctly among codes, please teach me that! Thanks!)

```
as = Association[{"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4}]

```

> 
> 
> ```
> <|"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4|>
> 
> ```
> 
> 

```
 Delete[as, "a"]

```

> 
> 
> ```
> <|"b" -> 2, "c" -> 3, "d" -> 4|>
> 
> ```
> 
> 

```
 Delete[as, {"a", "d"}]

```

> 
> During evaluation of In[69]:= Delete::psl: Position specification d in <|a->1,b->2,c->3,d->4|> is not a machine-sized integer or a list of machine-sized integers. >>
> 
> 
> 
> ```
> Delete[<|"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4|>, {"a", "d"}]
> 
> ```
> 
> 

```
 Delete[as, {Key["a"], Key["b"]}]

```

> 
> During evaluation of In[70]:= Delete::psl: Position specification Key[b] in <|a->1,b->2,c->3,d->4|> is not a machine-sized integer or a list of machine-sized integers. >>
> 
> 
> 
> ```
> Delete[<|"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4|>, {Key["a"], Key["b"]}]
> 
> ```
> 
> 

```
 Delete[as, Flatten@Position[Keys[as], #] & /@ {"a", "d"}]

```

> 
> 
> ```
> <|"b" -> 2, "c" -> 3|>
> 
> ```
> 
> 

```
 KeyDrop[as, {"a", "d"}]; as

```

> 
> 
> ```
> <|"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4|>
> 
> ```
> 
> 

```
 KeyDropFrom[as, {"a", "d"}]; as

```

> 
> 
> ```
> <|"b" -> 2, "c" -> 3|>
> 
> ```
> 
>