Question: After reading in some data, I somehow have several columns which are all named "". I would like to remove these columns from my dataframe. For example,

```
x <- tribble(
~ a, ~ b, ~"", ~"",
  1, 2, NA, NA,
  3, 4, NA, NA
)
select(x, -"")

```

However, this throws an Error: names can't be empty. I also tried:

```
select(x, -where(~ .x == ""))

```

But it says where() must be used with functions that return TRUE or FALSE. I really don't want to select based on position (ie 3, 4) but I'm having trouble finding a solution.

Answer: 
Making some assumptions about what you mean by "merge", but does this look right?

```
dataInput
    .GroupBy(x => x.Id)
    .Select(g=> new Customer
        {
            Id = g.Key,
            Emails = g.SelectMany(c => c.Emails).ToArray()
        })
    .ToList();

```
If you're going to use Jack's approach, I'd suggest something slightly more robust.

```
var intermediate =
(
    from g in dataInput.GroupBy(c => c.Id)
    from c in g.Take(1)
    select new
    {
        customer = c,
        emails = g.SelectMany(d => d.Emails).ToArray()
    }
)
.ToArray();

foreach (var x in intermediate)
{
    x.customer.Emails = x.emails;
};

Customer[] ouput =
    intermediate
        .Select(x => x.customer)
        .ToArray();

```