input: Write a python function to train and test a Support Vector Regression (SVR) model using a given DataFrame.
  assert round(train_test_svr(df), 2) == 0.85 # Assuming 0.85 is the expected score for the given dataset
  assert round(train_test_svr(df), 2) == 0.90 # Assuming 0.90 is the expected score for another dataset
  assert round(train_test_svr(df.sample(frac=0.5)), 2) == 0.80 # Assuming 0.80 is the expected score for a subset of the dataset
output: def train_test_svr(df):
      from sklearn.svm import SVR
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      from sklearn.metrics import r2_score
  
      # Assuming the last column is the target and the rest are features
      X = df.iloc[:, :-1].values
      y = df.iloc[:, -1].values
  
      # Split the data into train and test sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Standardize features by removing the mean and scaling to unit variance
      scaler = StandardScaler()
      X_train = scaler.fit_transform(X_train)
      X_test = scaler.transform(X_test)
      
      # Train the Support Vector Regression model
      svr = SVR()
      svr.fit(X_train, y_train)
      
      # Make predictions on the test set
      y_pred = svr.predict(X_test)
      
      # Calculate and return the R^2 score
      return r2_score(y_test, y_pred)