小编jps*_*fer的帖子

R中的函数,传递数据框和列名

可能重复:
将data.frame列名称传递给函数

我正在尝试在R中创建一个函数,其中输入之间有数据框和列名.代码将是这样的:

DT_CAP_COLUMN  <- function(input_table,output_table,column_name,
                           cap_function,Parameter){
  input_table$column_name
  (...)
  return(1)
}
Run Code Online (Sandbox Code Playgroud)

输出:

DT_CAP_COLUMN(churn_3,churn_4,'VOICE_REVENUE','STD',3)
input_table$column_name is NA
Run Code Online (Sandbox Code Playgroud)

我认为问题是input_table$column_name不被承认.input_tablechurn_3,但input_table$column_name回报率column_name not found.

无论如何要做到这一点,而不必使用pass-by-references包或将环境作为变量传递?

r function pass-by-reference

12
推荐指数
1
解决办法
4万
查看次数

具有分类输入的回归树或随机森林回归量

我一直试图在回归树(或随机森林回归器)中使用分类的inpust,但sklearn不断返回错误并要求输入数字.

import sklearn as sk
MODEL = sk.ensemble.RandomForestRegressor(n_estimators=100)
MODEL.fit([('a',1,2),('b',2,3),('a',3,2),('b',1,3)], [1,2.5,3,4]) # does not work
MODEL.fit([(1,1,2),(2,2,3),(1,3,2),(2,1,3)], [1,2.5,3,4]) #works

MODEL = sk.tree.DecisionTreeRegressor()
MODEL.fit([('a',1,2),('b',2,3),('a',3,2),('b',1,3)], [1,2.5,3,4]) # does not work
MODEL.fit([(1,1,2),(2,2,3),(1,3,2),(2,1,3)], [1,2.5,3,4]) #works
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这些方法中的分类输入应该是可能的,没有任何转换(例如WOE替代).

有没有其他人有这个困难?

谢谢!

python regression scikit-learn

11
推荐指数
1
解决办法
2万
查看次数

将字符转换为数字(SAS)

我试图将字符列转换为数字,我尝试使用:

  • var=input(var,Best12.);
  • var=var*1;

它们都返回了字符列,并且只有一条警告消息:

"Character values have been converted to numeric values at the places given by: (Line):(Column). 7132:4".
Run Code Online (Sandbox Code Playgroud)

还有另外一个在SAS内部进行这种转换的方法吗?

(如果这是微不足道,我道歉)

谢谢!

sas

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

function ×1

pass-by-reference ×1

python ×1

r ×1

regression ×1

sas ×1

scikit-learn ×1