Весь фрейм данных должен быть вызван в функции.
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"
Убедитесь, что формула для перекрестного продукта, которую я использовал, правильная.