以下是我的data.frame df
的样子:
df
color shape type
red oval model 1
blue square model 4
我需要的是使用expand.grid
来组合不同的行。这是我试过的:
row1 <- df[1,]
row2 <- df[2,]
output <- expand.grid( row1, row2)
但是,由于row1
不是列表向量,我收到错误。
head(df)
:
position1 position2 position3 position4 position5
1 razor windranger dark seer spirit breaker bounty hunter
2 blood seeker ember spirit lina techie spirit breaker
3 luna storm spirit dark seer rubick winter wayvern
4 phantom lancer storm spirit dark seer lina silencer
5 phantom lancer lina dark seer tuskar winter wayvern
6 gryocopter shadow fiend tuskar visage earthshaker
str(df)
我的原始data.frame:
'data.frame': 42 obs. of 5 variables:
$ position1: Factor w/ 15 levels "antimage","blood seeker",..: 13 2 9 12 12 5 9 13 12 4 ...
$ position2: Factor w/ 12 levels "dragon knight",..: 11 2 9 9 4 7 7 6 4 10 ...
$ position3: Factor w/ 14 levels "bristle","brood mother",..: 4 6 4 4 4 12 12 3 12 13 ...
$ position4: Factor w/ 20 levels "bounty hunter",..: 15 16 11 7 17 18 11 12 1 17 ...
$ position5: Factor w/ 13 levels "ancient apparition",..: 2 10 12 9 12 6 6 4 13 11 ...`
答案 0 :(得分:1)
提供代码会更好......试试
row1 <- unlist(df[1,])
否则df[1,]
是一行数据帧。
我会在@firelittle回复后编辑这篇文章。这是一个例子:
> dd <- data.frame(x=factor(LETTERS[1:2]), y=factor(LETTERS[3:4]))
> dd
x y
1 A C
2 B D
> expand.grid(unlist(dd[1,]), unlist(dd[2,]))
Var1 Var2
1 A B
2 C B
3 A D
4 C D
这是你的预期产量吗?