Я довольно новичок в R и не смог ответить на Google. Вопрос в том, как я могу сказать, что R обрабатывает значение символьной строки как часть кода так, как это делает функция SAS resolve()?R - как оценить текстовую строку
Скажем, у меня есть кадр данных, содержащий числовые столбцы V1, ..., Vn и ровно n строк. Я хочу подытожить все «диагональные» элементы V = V1 [1] + V2 [2] ... + Vn [n], но n достаточно велико для ручного суммирования (ниже, n = 2 для простоты).
Я пытаюсь поставить строки «DAT $ V1 [1]», «DAT $ V2 [2]» в символьной С, а затем извлечь соответствующее числовое значение (все в шаге цикла):
> dat <- data.frame(V1 = c(2,3), V2 = c(7,11))
> dat
V1 V2
1 2 7
2 3 11
V = 0
for(i in 1:nrow(dat))
{
C = paste('dat$V',format(i,trim=TRUE),'[',format(i,trim=TRUE),']',
sep="")
f = Xfun(C)
V = V + f
}
Что следует использовать вместо Xfun? Я попытался as.formula(), asOneSidedFormula(), получить («...») и некоторые другие, но очень важно, что Дат $ V1 не является объектом:
> exists("dat")
[1] TRUE
> exists("dat$V1")
[1] FALSE
Ваша помощь очень ценится ,
Вы можете редактировать ваш вопрос заголовка, чтобы привлечь больше внимания на ваш вопрос. – hasumedic
Я также предлагаю, чтобы '' 'data frame''' не был идеальным классом для вашего объекта. Порядок строк не должен быть важен для фрейма данных. Я думаю, вам нужна '' 'matrix''' (или' '' array'''). –