如何解决使用 lapply 从列表中预测
我正在尝试使用 dplyr 和 lapply 估计一组模型。我估计概率回归,其中结果存储在列表中。然后我想使用 predict 函数来预测新数据集上的值。我的模型运行,但我得到零值作为结果。我做错了什么?
public class UserOrderActivity extends AppCompatActivity {
RecyclerView recyclerOrders;
private FirebaseDatabase db = FirebaseDatabase.getInstance();
private DatabaseReference ref = db.getReference().child("Requests");
private UserOrderAdapter adapter;
private ArrayList<Request> list;
Toolbar toolbar;
TextView userOrderBlankText;
GifImageView gifImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_order);
toolbar = findViewById(R.id.toolbar);
gifImageView = findViewById(R.id.order_giffy);
userOrderBlankText = findViewById(R.id.user_order_blank_text);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
recyclerOrders = findViewById(R.id.recycler_orders);
recyclerOrders.setHasFixedSize(true);
recyclerOrders.setLayoutManager(new LinearLayoutManager(this));
list = new ArrayList<>();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for(DataSnapshot dataSnapshot : snapshot.getChildren()){
Request request = dataSnapshot.getValue(Request.class);
list.add(request);
}
adapter = new UserOrderAdapter(UserOrderActivity.this,list);
recyclerOrders.setAdapter(adapter);
adapter.notifyDataSetChanged();
if (list.size() == 0) {
gifImageView.setVisibility(GifImageView.VISIBLE);
userOrderBlankText.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
我得到的预测结果为零。为什么?
解决方法
你应该lapply
而不是model_list
。
pred1 <- lapply(model_list,function(x) predict.glm(x,type = "response"))
或者,如果您想传递数据,请使用 Map
。
pred2 <- Map(function(x,y) predict.glm(x,type = "response",newdata = y),model_list,pred_list)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。