我应该制作一个包含2个功能的随机数据框
driver = webdriver.Chrome()
driver.maximize_window() # now screen top-left corner == browser top-left corner
driver.get("http://stackoverflow.com/questions")
question = driver.find_element_by_link_text("Questions")
y_relative_coord = question.location['y']
browser_navigation_panel_height = driver.execute_script('return window.outerHeight - window.innerHeight;')
y_absolute_coord = y_relative_coord + browser_navigation_panel_height
x_absolute_coord = question.location['x']
并且它工作正常,但我需要以只有1个表格单元格的值介于50和90之间的方式进行制作。
我不知道怎么办?
当前表格给了我
gender <- sample(c("Male","Female"), 10000, replace = TRUE, prob = c( 0.5, 0.5))
handed <- sample(c("left_Handed","right_Handed"), 10000, replace = TRUE, prob = c( 0.1, 0.9))
data <- data.frame(gender = gender, handed = handed)
table(data$gender, data$handed)
如你所见,它给了我2个单元格,其值低于100。
答案 0 :(得分:1)
您可以使用命中和遗漏方法:
f <- function(){
gender <- sample( c("Male","Female"), 10000, replace=TRUE, prob=c( 0.5, 0.5) )
handed <- sample( c("left_Handed","right_Handed"), 10000, replace=TRUE, prob=c( 0.01, 0.9) )
data<-data.frame(gender=gender,handed=handed)
tb <- table(data$gender,data$handed)
if (min(tb[,1]) < 50 && max(tb[,1])>=50) tb else f()
}
此函数以递归方式运行代码,直到获得它喜欢的输出。
典型运行:
> f()
left_Handed right_Handed
Female 59 4970
Male 48 4923
当然,修改函数以便它使用循环而不是递归是很容易的,但上面的代码稍微简洁一些,并且第一列中单元格的预期值为50,有永远不会超过少数几个递归调用,因此堆栈空间不是问题。