响应必须具有3个或更多级别

时间:2018-11-15 03:32:15

标签: r regression

我正在尝试使用R执行有序逻辑回归,但我不断收到此错误消息:响应必须具有3个或更多级别。 R中的“响应”是什么意思?尝试在google上搜索,但R中的response含义没有任何解释。我正在粘贴要尝试回归的数据的快照以及到目前为止已编写的代码:

enter image description here

    public class ConnectionStateMonitor extends ConnectivityManager.NetworkCallback {
    public final String TAG = ConnectionStateMonitor.class.getSimpleName();
                    private boolean isLost = false;


                    final NetworkRequest networkRequest;
                    Context context;
                    private ConnectionStateMonitor instance;
                    private boolean isLost = false;

                    private ConnectionStateMonitor() {
                        networkRequest = new NetworkRequest.Builder()
                                .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
                                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                                .build();
                    }

                    public synchronized ConnectionStateMonitor getInstance() {
                        if (instance == null) {
                            instance = new ConnectionStateMonitor();
                        }
                        return instance;
                    }

                    public void enable(Context context) {
                        try {
                            if (context == null) return;
                            this.context = context;
                            ConnectivityManager connectivityManager =
                                    (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                            connectivityManager.registerNetworkCallback(networkRequest, this);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    @Override
                    public void onAvailable(Network network) {
                        Log.i(TAG, "onAvailable called " + 
                                network.toString());
                                if (isLost) {
                                isLost = false;}
                       // when network available called it
                    }


                    @Override
                    public void onLost(Network network) {
                        super.onLost(network);
                        isLost = true;
                        // when network lost called it
                        Log.i(TAG, "onLost called ");
                    }
                }

1 个答案:

答案 0 :(得分:0)

您应该看一下polr方法的示例。 只需在RStudio的命令行中输入?polr

您将看到您的响应变量未正确定义polr的期望(除非我误解了您尝试做的事情)

polr尝试为示例中的Sat等多层有序变量建模。

我在您的数据中发现了两个问题:

  1. 您已经汇总了数据,即对年龄和性别的每种组合具有不同满意度的样本数。

  2. 您的响应变量分为不同的列。从非聚合数据开始,您需要转换为具有多个可能值(VeryUnsat,Unsat,Sat,VerySat)的单个变量

如果该方法允许为每种组合指定一些权重(您尚未检查该方法的详细信息),则可以使用汇总数据。