Надеется, простой вопрос:если длина выражения аргумента 0
Я получаю «аргумент имеет нулевую длину» для если заявление линии:
for (i in 1:(length(MixedDF))) {
if (MixedDF[i,1] - MixedDF[i-1,1] == 1) {
SwitchInd[i] = MixedDF$trial[i]
}
}
Где MixedDF большой матрицы и SwitchInd является матрицу нулей, которая должна заполняться индексами, указанными в выражении if. MixedDF$trial
или MixedDF[i,1]
- это первый столбец в матрице. Этот столбец содержит целые числа, начиная с 51 и переходя к 74, где имеется много строк с одинаковым значением. Так, например, MixedDF$trial <- c(51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53.....)
. Я хочу определить индексы, в которых изменяется процесс, поэтому от 51 до 52, от 52 до 53 и т. Д. В общем, я хочу понять, почему оператор if не работает, это кажется простым.
Когда 'i' является '1',' MixedDF [I-1,1] 'не очень хорошо сформированы. – nrussell
[Воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) было бы неплохо. Это значительно облегчает вам помощь других. – Jaap
, с помощью которого я получаю «аргумент», который «нелогичен». Я установил MixedDF $ trial в as.numeric, не уверен, что это важно. – bsils