是否有一个R函数来获取n个对象的排列数取k p(n,k)?

时间:2010-05-20 07:30:26

标签: r permutation combinations

..或者我必须提供

P.nk <- factorial(n) / factorial(n-k)

P.nk <- choose(n,k) * factorial(k)

谢谢。

4 个答案:

答案 0 :(得分:9)

我不知道任何现有的功能。你的第一个建议将失败,大n。当作为函数编写时,你的第二个想法应该可以正常工作:

perm <- function(n,k){choose(n,k) * factorial(k)}

然后perm(500,2)将以249500为例。

答案 1 :(得分:3)

我认为gregmisc包提供了这些功能。

library(gregmisc)
permutations(n=4,r=4)

邮件列表参考:[R] permutation

答案 2 :(得分:1)

查看'prob'包中的nsamp(n,k,ordered=T)

答案 3 :(得分:0)

软件包 const express = require('express'); const path = require('path'); const bodyParser = require('body-parser'); const exphbs = require('express-handlebars'); const nodemailer = require('nodemailer'); const app = express(); // View engine setup app.engine('handlebars', exphbs()); app.set('view engine', 'handlebars'); // Static folder app.use('/public', express.static(path.join(__dirname, 'public'))); / Body Parser Middleware app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.get('/', (req, res) => { res.render('contact', { layout: false }); }); app.post('/send', (req, res) => { console.log(res.body); }); //Form HTML code <form action="send" method="POST"> <input name="name" type="text" id="name" placeholder="NAME: First & Last"> <input name="email" type="text" id="email" placeholder="EMAIL:"> <textarea name="text" id="text" cols="30" rows="10" placeholder="QUESTION OR INQUIRY:"></textarea> <br> <button type="submit">Submit</button> </form>

gtools

结果:

# R version 3.5.3 install.packages("gtools") library(gtools) base::nrow(gtools::permutations(500,2))

另请参阅combinations-and-permutations-in-rpermutation_with_replacement.R

另一个软件包[1] 249500

prob

base::ncol(prob::permsn(500,2))