DEV Community

CoderLegion
CoderLegion

Posted on • Originally published at kodblems.com

error in fun(newx[, i], ...) : invalid 'type' (character) of argument

Problem:
Hi, I want someones' help me on this " error in fun(newx[, i], ...) : invalid 'type' (character) of argument"

Thanks in advance

Solution:
In this case, this error is coming from sum(), since you are trying to sum the character elements in the color column.

sum("a")

Error in sum("a") : invalid 'type' (character) of argument

You require to remove the color column from the x argument, because it is not being employed in aggregation, however is really the by argument.

aggregate(csv[-1], csv["color"], sum)

color val2 val3

1 blue 6 13

2 green 7 3

3 red 11 9

However, you can try this formula method. It can solve your problem.

aggregate(. ~ color, csv, sum)
You can also apply dplyr package for example-

library(dplyr)
csv %>% group_by(color) %>% summarise_each(funs(sum))
color val2 val3
(chr) (int) (int)
1 blue 6 13
2 green 7 3
3 red 11 9
Now, you are able to solve this issue

Thnks

Top comments (0)