尝试在R中执行功能选择。我正在使用glmnet软件包来执行此操作。到目前为止,这是我的代码:
lasso_model = glmnet(as.matrix(x = lasso, y = lasso_target,
standardize=TRUE, alpha=1))
套索是一个充满数字和分类预测变量的数据框。第一列是我删除的目标变量。
lasso_target是我删除的目标变量,它存储为自己的数据帧。
错误:
Error in drop(y) : argument "y" is missing, with no default
我的目标是在将数据馈入模型之前从数据框中删除非信息性功能。任何帮助将不胜感激!
答案 0 :(得分:1)
您的关闭!但是输入和响应变量需要分别定义。您要做的就是将它们都组合成一个矩阵(除了glmnet的其他args),然后将整个函数传递给函数。由于默认情况下, x 是第一个参数,因此它假定这是输入矩阵,然后由于未定义 y 参数而找不到负责任的变量。因此,您会收到一条错误消息,告诉您。
这应该可以解决问题:
//loads maps according to an integer parameter, which depends on what map the player is in (Map1, Map2, Map3, etc.)
public void loadMap(int MapNum){
//attemps to load .txt file
try{
String s="Map"+MapNum+".txt";
File file=new File(s);
Scanner sc=new Scanner(file);
while(sc.hasNextLine())
{
for( int i=0; i<5; i++){
char currentCharacter=sc.next().charAt(0);
map[i][i]=currentCharacter;
}
}
}
catch(IOException exception){
System.out.println(exception);
}
}