我想用列表进行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循环中
答案 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))}
,我希望这一点很清楚。