Мне нравится иметь метод в моей деятельности под названием showToast
, который я могу вызвать из любого места ...
public void showToast(final String toast)
{
runOnUiThread(() -> Toast.makeText(MyActivity.this, toast, Toast.LENGTH_SHORT).show());
}
Затем я чаще всего вызываю его из MyActivity
на любой поток, например это ...
showToast(getString(R.string.MyMessage));
Я предполагаю, что «запись FCR» (в вашем вопросе) относится к «Feed». Тогда, если я правильно понял вопрос, вы можете сделать это:
split(df[complete.cases(df),], df[complete.cases(df), 4])
# $`3`
# animal Feed Litter Pen
# 1 1 0.2 5 3
# 3 3 0.2 5 3
# 7 7 0.3 5 3
# 8 8 0.3 5 3
# 13 13 0.4 7 3
# 14 14 0.4 7 3
#
# $`4`
# animal Feed Litter Pen
# 4 4 0.2 6 4
# 5 5 0.3 5 4
# 6 6 0.3 4 4
В приведенном выше complete.cases
капли любого из неполных наблюдений. Если вам нужно совместить аргумент с определенной переменной, вы можете использовать что-то вроде df[!is.na(df$Feed), ]
вместо complete.cases
. Затем split
создает список data.frames
, разбитый на Pen
.
# all animals with Feed data
df[!is.na(df$Feed), ]
# all animals from pens with at least one animal with feed data in the pen
df[ave(!is.na(df$Feed), df$Pen, FUN = any), ]