R - for循环中的错误

时间:2017-10-24 13:54:19

标签: r

我想用列表进行for循环。

我试过了:

socketThread = new Thread(){
            @Override
            public void run() {
                startSocket();
                String message = "Message";
                byte[] buf = message.getBytes();
                DatagramPacket packet = new DatagramPacket(buf, buf.length);
                try {
                    if(!socket.isConnected())
                        socket.connect(InetAddress.getByName("255.255.255.255"), 3040);
                    if (socket != null) {
                        socket.send(packet);
                    }
                    Log.d(TAG, "Send: " +message);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        };
        socketThread.start();

在我的循环中,我启动了一个需要列表tri的不同值的函数。 因为tripletsFinaux是一个数据帧。我需要每个tri的3个值在for循环中执行我的函数apprentissage()。

tripletsFinaux看起来像:

for(tri in tripletsFinaux){

   CoefsCrit = apprentissage(data,tri$concurrents,tri$client,tri$depot)

   /* I put actions here but you don't need to see it for my problem */

}

我的错误是:

head(tripletsFinaux,2)
    depot          client concurrents nbLignes
1 blablabla     blobloblo       tatata      131
2 bliblibli     blublbublu      tututu      231

我该怎么办? 我不知道错误是在apprentissage()函数还是在for循环中

1 个答案:

答案 0 :(得分:1)

好像你想循环遍历行,所以:

for(i in 1:nrow(tripletsFinaux)){

   CoefsCrit = apprentissage(data, tripletsFinaux$concurrents[i], tripletsFinaux$client[i], triplentsFinaux$depot[i])

   # ...

}

以上就是你想要的。你拥有它的方式,for (tri in tripletsFinaux)将循环遍历列,一次一列。如果你跑for (tri in tripletsFinaux) {print(head(tri))},我希望这一点很清楚。