作者jerkoffme (摩德男孩)
看板R_Language
标题[问题] 回圈控制问题
时间Fri Dec 14 19:58:53 2018
[问题类型]:
最近要交换礼物,想说用R写一个配对的程式
[软体熟悉度]:
使用了R半年,会基础ggplot2和tidyverse
[问题叙述]:
假设9个人,要交换礼物,条件是自己不能送给自己。
我分别把送礼人和被送礼人,写成两个c()的向量
,最後能tibble成一个表格
[程式范例]:
library(tidyverse)
library(dplyr)
library(mailR)
x <- sample(c("A", "B", "C", "D", "E", "F", "G", "H", "I"), 9)
y <- sample(c("A", "B", "C", "D", "E", "F", "G", "H", "I"), 9)
for (i in 1:9){
if(x[i] != y[i]){
z <- cbind(x, y)
}
}
z
[环境叙述]:
window 10,最新版R studio
x y
[1,] "F" "F"
[2,] "C" "I"
[3,] "H" "C"
[4,] "I" "D"
[5,] "D" "A"
[6,] "B" "B"
[7,] "A" "E"
[8,] "G" "G"
[9,] "E" "H"
输出结果就还是会重复,我认为问题应该是for回圈无法用多个逻辑判断式,
应该是他判断x[1] != y[1]就输出了,想了一个下午还是解不了阿,请大神救一下
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.112.167
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1544788736.A.3C0.html
1F:推 sw52099: 不是你说的原因 是z被cbind了好几次 12/14 20:20
2F:→ jerkoffme: 那请问有解吗?? 12/14 20:35
4F:→ celestialgod: 不要想太难 慢慢mark就好 12/14 20:48
5F:→ andrew43: 只要cbind(x,y)[x!=y,]就好了吧,不用for loop 12/14 20:48
6F:推 andrew43: 喔不对。没看懂最终目的。 12/14 21:22
7F:→ jerkoffme: 感谢,我想我大概了解了!! 12/14 22:00