Используя имя из существующего списка, чтобы создать новый список, но также используя это имя в качестве имени нового списка - PullRequest
0 голосов
/ 10 февраля 2020

Я написал код, но нужно написать по-другому. Вот пример кода для создания двух списков

set.seed(123)    # sets random seed
height <- sample(120:200,200,TRUE) # create random height data 
vars <- c("height") # create a list which contains 'height'

Я знаю, что могу запустить эти две строки ниже, чтобы получить те же результаты

mean(height) # the straightforward way to calculate mean
mean(eval(parse(text = vars[1]))) # using the name from the list
[1] 160.49

Затем я хочу создать новый список mean_height , который содержит значение, я включил простой способ показать пример того, что я пытаюсь сделать в его основной форме c. Во второй строке я использую «mean_», соединенный с «height» из списка

mean_height <- mean(height) # the straightforward way create list containing mean score
assign(paste("mean_", vars[1], sep = ""), mean(eval(parse(text = vars[1]))))  # using the name from the list
mean_height
[1] 160.49

Этот код работает, но я не могу интегрироваться с чем-то другим, что пытаюсь написать. Я хотел бы создать mean_height описанным ниже способом, но он не запустится

paste("mean_", vars[1], sep = "") <- mean(eval(parse(text = vars[1]))) 

Я получаю это сообщение об ошибке

Error in paste("mean_", vars[1], sep = "") <- mean(eval(parse(text = vars[1]))) : 
  target of assignment expands to non-language object

Есть ли функция I можно использовать для вставки пасты ("mean_", vars [1], sep = "") для распознавания?

Любая помощь, высоко ценится.

...