Как я могу использовать число, введенное пользователем в качестве переменной? - PullRequest
0 голосов
/ 02 мая 2020

У меня 8 переменных как Var1-Var8. Я хочу найти кросс-продукт между двумя из них по выбору пользователя. Я беру 2 ввода от пользователя, и когда он пытается вычислить, результат не может быть рассчитан, потому что Var (x) не может быть найден. Как я могу сделать пользовательский ввод в качестве переменной в функции. Я пробовал Var (x), Var [x] и Var $ x, но это не сработало. Уже спасибо

findCrossProduct=function(x,y){

  print("which variables do you want to see the cross-product between ?")
  x=readline("Enter the first variable :")
  y=readline("Enter the second variable :")

  >> cp=sum(Var(x)*Var(y))-(sum(Var(x)*sum(Var(y))/length(Var(y)))) 

  print(paste("Cross-product betwen variable ",x,"and variable",y,"is",cp))

}

1 Ответ

0 голосов
/ 02 мая 2020

Весь фрейм данных должен быть вызван в функции.

findCrossProduct=function(df){

  print("which variables do you want to see the cross-product between?")

  x = readline("Enter the first variable: ")
  y = readline("Enter the second variable: ")

  cp = sum(df[x] * df[y]) - (sum(df[x])*sum(df[y])/nrow(df[y])) 

  print(paste("Cross-product between variable", x, "and variable", y, "is", cp))

}

Вывод

> findCrossProduct(data)
[1] "which variables do you want to see the cross-product between?"
Enter the first variable: Var2
Enter the second variable: Var3
[1] "Cross-product between variable Var2 and variable Var3 is 0.200000000000045"

Убедитесь, что формула для перекрестного продукта, которую я использовал, правильная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...