R-在嵌套函数中使用可选参数,如';kmeans';
我正在尝试创建一个使用R-在嵌套函数中使用可选参数,如';kmeans';,r,list,k-means,optional-parameters,nested-function,R,List,K Means,Optional Parameters,Nested Function,我正在尝试创建一个使用tm包中的dist和kmeans的函数 我的目标是提供一个将参数作为列表的机会,主要是这样,它可以用作上述函数的参数 有一个例子: tmpClust<-function(corpora, dist.args=list(method = "manhattan"), k, kmeans.args=list(algorithm="Lloyd")) { dtm<-DocumentTermMatrix(corpora) dm<-dist(dtm,
tm
包中的dist
和kmeans
的函数
我的目标是提供一个将参数作为列表的机会,主要是这样,它可以用作上述函数的参数
有一个例子:
tmpClust<-function(corpora, dist.args=list(method = "manhattan"), k, kmeans.args=list(algorithm="Lloyd"))
{
dtm<-DocumentTermMatrix(corpora)
dm<-dist(dtm, dist.args)
x<-kmeans(dm, k, kmeans.args)
x$cluster
}
data(crude)
tmpClust(crude, k=3)
tmpclust不幸的是,R习惯用法有点复杂,比如do.call(f,list(所有参数))
你能把它变成一个可复制的例子吗?@Frank,我在函数中改为xy你的目标应该是一个一级列表<代码>列表(dm,k,kmeans.args)
是嵌套的(一个列表在另一个列表中),所以你想要c(list(dm,k,kmeans.args)
或类似的东西。@Frank:我想你的意思是c(dm,k,kmeans.args)
,但这是正确的答案:不幸的是,R的习惯用法有点复杂,就像do.call(f,list)(所有的参数))
你能把这变成一个可复制的例子吗?@Frank,我在函数中更改为xy我们的目标应该是一个一级列表<代码>列表(dm,k,kmeans.args)
是嵌套的(一个列表在另一个列表中),因此您需要c(list(dm,k),kmeans.args)
或类似的东西。@Frank:我想您的意思是c(dm,k,kmeans.args)
,但这是正确的答案: