我还在学习R,并且已经完成了根据另一个变量将一长串学生分成四人一组的任务.我已将数据作为数据框加载到R中.如何在没有替换的情况下对整行进行采样,从变量的4个级别中选择一个,并将R输出到电子表格中?
到目前为止,我一直在修补for循环和示例函数,但我很快就超越了我的脑袋.有什么建议?这是我试图做的样本.鉴于:
Last.Name <- c("Picard","Troi","Riker","La Forge", "Yar", "Crusher", "Crusher", "Data")
First.Name <- c("Jean-Luc", "Deanna", "William", "Geordi", "Tasha", "Beverly", "Wesley", "Data")
Email <- c("a@a.com","b@b.com", "c@c.com", "d@d.com", "e@e.com", "f@f.com", "g@g.com", "h@h.com")
Section <- c(1,1,2,2,3,3,4,4)
df <- data.frame(Last.Name,First.Name,Email,Section)
Run Code Online (Sandbox Code Playgroud)
我想从每个部分中随机选择一个星际迷航角色,最后得到2组4.我希望整行的信息能够转换成包含所有组及其相应组号的新数据帧.
我会使用精彩的'dplyr'包
require(dplyr)
random_4 <- df %>% group_by(Section) %>% slice(sample(c(1,2),1))
random_4
Source: local data frame [4 x 4]
Groups: Section
Last.Name First.Name Email Section
1 Troi Deanna b@b.com 1
2 La Forge Geordi d@d.com 2
3 Crusher Beverly f@f.com 3
4 Data Data h@h.com 4
random_4
Source: local data frame [4 x 4]
Groups: Section
Last.Name First.Name Email Section
1 Picard Jean-Luc a@a.com 1
2 Riker William c@c.com 2
3 Crusher Beverly f@f.com 3
4 Data Data h@h.com 4
Run Code Online (Sandbox Code Playgroud)
%>%表示'然后'
代码读作:
取DF和THEN为所有'Section',按位置(切片)1或2选择.Voila.