我的apiCallTasks.SelectMany(r2 => r2.Result);
看起来像这样:
data.frame
如何从中制作A <- data.frame(id = 1:5, col1 = c(0,1,1,0,0), col2 = c(2,0,0,0,0), col3 = c(0,0,0,3,3))
变量,所以它看起来像这样:
factor
我知道如何从一列中制作一个因子,但不知道如何将它们合并在一起
答案 0 :(得分:2)
您可以使用A <- data.frame(id = 1:5, col1 = c(0,1,1,0,0), col2 = c(2,0,0,0,0), col3 = c(0,0,0,3,3))
A$col4 <- as.factor(rowSums(A[,2:4]))
str(A)
> str(A)
'data.frame': 5 obs. of 5 variables:
$ id : int 1 2 3 4 5
$ col1: num 0 1 1 0 0
$ col2: num 2 0 0 0 0
$ col3: num 0 0 0 3 3
$ col4: Factor w/ 3 levels "1","2","3": 2 1 1 3 3
mongoimport --uri mongodb://USER:SECRET@appname-shard-00-00-tlxyp.mongodb.net:27017,appname-shard-00-01-tlxyp.mongodb.net:27017,appname-shard-00-02-tlxyp.mongodb.net:27017/test?ssl=true&replicaSet=appname-shard-0&authSource=admin --collection scoringSystem --file /home/myUser/IdeaProjects/app/scoring-system.json
答案 1 :(得分:2)
您可以先将所有零转换为NA&#39;然后使用coalesce
中的dplyr
转换为&#34;合并&#34;列成一个:
library(dplyr)
A$col4 = A %>%
select(-id) %>%
mutate_all(funs(replace(., . == 0, NA))) %>%
{coalesce(!!! .)} %>%
as.factor()
<强>结果:强>
id col1 col2 col3 col4
1 1 0 2 0 2
2 2 1 0 0 1
3 3 1 0 0 1
4 4 0 0 3 3
5 5 0 0 3 3
> A$col4
[1] 2 1 1 3 3
Levels: 1 2 3
注意:!!!
中的{{strong> coalesce
符号将参数拼接成点,因此它等同于coalesce(A$col1, A$col2, A$col3)