我的朋友
> df <- data.frame(food = c("fruit banana", "fruit apple", "fruit grape", "bread", "meat"), sold = rnorm(5, 100))
> df
food sold
1 fruit banana 99.47171
2 fruit apple 99.40878
3 fruit grape 99.28727
4 bread 99.15934
5 meat 100.53438
Run Code Online (Sandbox Code Playgroud)
现在我想要替换以"水果"开头的食物中的所有值,然后按食物分组并总结出售的总和.
> df %>%
+ mutate(food = replace(food, str_detect(food, "fruit"), "fruit")) %>%
+ group_by(food) %>%
+ summarise(sold = sum(sold))
Source: local data frame [3 x 2]
food sold
(fctr) (dbl)
1 bread 99.15934
2 meat 100.53438
3 NA 298.16776
Run Code Online (Sandbox Code Playgroud)
为什么这个命令不起作用?它给了我NA而不是水果?
x <- letters[1:4]
x
# [1] "a" "b" "c" "d"
t(combn(x, 2))
# [,1] [,2]
# [1,] "a" "b"
# [2,] "a" "c"
# [3,] "a" "d"
# [4,] "b" "c"
# [5,] "b" "d"
# [6,] "c" "d"
Run Code Online (Sandbox Code Playgroud)
如果我还与ba,ca ... dc进行逆组合,应该如何编写代码。总共12个组合。