1.1 Create two vectors with 10 random numbers
options(repos = c(CRAN = "https://cloud.r-project.org/"))
# Create two vectors with 10 random numbers
vector1 <- runif(10) # Random numbers between 0 and 1
vector2 <- runif(10) # Random numbers between 0 and 1
print(vector1)
## [1] 0.15368182 0.46040245 0.23575484 0.04676488 0.18191789 0.75365423
## [7] 0.17267068 0.86483052 0.41679817 0.95717339
print(vector2)
## [1] 0.95956445 0.64500120 0.41974035 0.57452838 0.55895424 0.64620695
## [7] 0.34228777 0.43282171 0.05221425 0.88706926
# Append the second vector to the first
combined_vector <- c(vector1, vector2)
print(combined_vector)
## [1] 0.15368182 0.46040245 0.23575484 0.04676488 0.18191789 0.75365423
## [7] 0.17267068 0.86483052 0.41679817 0.95717339 0.95956445 0.64500120
## [13] 0.41974035 0.57452838 0.55895424 0.64620695 0.34228777 0.43282171
## [19] 0.05221425 0.88706926
# Calculate the mean of the combined vector
mean_combined <- mean(combined_vector)
print(mean_combined)
## [1] 0.4881019
# Check if each element is larger than the mean
is_larger_than_mean <- combined_vector > mean_combined
print(is_larger_than_mean)
## [1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE
## [13] FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE
# Create a vector with 100 random numbers
vector100 <- runif(100)
print(vector100)
## [1] 0.778497631 0.228399029 0.052079998 0.164233025 0.702932845 0.369788115
## [7] 0.830702326 0.922270149 0.007505083 0.645361312 0.824776066 0.327272388
## [13] 0.220494240 0.131878839 0.056469685 0.452726292 0.509437209 0.277689580
## [19] 0.152445702 0.123525259 0.017317533 0.436058379 0.083631199 0.983108533
## [25] 0.175099585 0.564134563 0.479104517 0.850691466 0.590796704 0.634486170
## [31] 0.379661533 0.437996870 0.455582661 0.443716947 0.589102483 0.740054799
## [37] 0.627974655 0.415959043 0.224624609 0.061609579 0.568117915 0.352852358
## [43] 0.677877212 0.439972630 0.713994118 0.103573216 0.998055058 0.880490506
## [49] 0.468238714 0.585257854 0.145890448 0.499898972 0.706177186 0.300252929
## [55] 0.617551892 0.587860946 0.033779638 0.261467502 0.367412984 0.737928521
## [61] 0.007327498 0.144389378 0.753737108 0.586212683 0.109250519 0.851144817
## [67] 0.718272427 0.877116530 0.504172787 0.146564300 0.903878761 0.237690000
## [73] 0.037716717 0.149119007 0.958417460 0.624127741 0.976196168 0.241733247
## [79] 0.559853724 0.097845480 0.889080892 0.023819744 0.208337046 0.803215222
## [85] 0.208692478 0.641824008 0.743672406 0.976779844 0.709082259 0.403105209
## [91] 0.446543780 0.663328878 0.173294333 0.257644983 0.065383050 0.307698939
## [97] 0.151401945 0.152412048 0.310188043 0.980998150
# Convert the vector into a 10x10 matrix
matrix_M <- matrix(vector100, nrow = 10, ncol = 10)
print(matrix_M)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.778497631 0.82477607 0.01731753 0.37966153 0.5681179 0.14589045
## [2,] 0.228399029 0.32727239 0.43605838 0.43799687 0.3528524 0.49989897
## [3,] 0.052079998 0.22049424 0.08363120 0.45558266 0.6778772 0.70617719
## [4,] 0.164233025 0.13187884 0.98310853 0.44371695 0.4399726 0.30025293
## [5,] 0.702932845 0.05646969 0.17509959 0.58910248 0.7139941 0.61755189
## [6,] 0.369788115 0.45272629 0.56413456 0.74005480 0.1035732 0.58786095
## [7,] 0.830702326 0.50943721 0.47910452 0.62797465 0.9980551 0.03377964
## [8,] 0.922270149 0.27768958 0.85069147 0.41595904 0.8804905 0.26146750
## [9,] 0.007505083 0.15244570 0.59079670 0.22462461 0.4682387 0.36741298
## [10,] 0.645361312 0.12352526 0.63448617 0.06160958 0.5852579 0.73792852
## [,7] [,8] [,9] [,10]
## [1,] 0.007327498 0.90387876 0.88908089 0.44654378
## [2,] 0.144389378 0.23769000 0.02381974 0.66332888
## [3,] 0.753737108 0.03771672 0.20833705 0.17329433
## [4,] 0.586212683 0.14911901 0.80321522 0.25764498
## [5,] 0.109250519 0.95841746 0.20869248 0.06538305
## [6,] 0.851144817 0.62412774 0.64182401 0.30769894
## [7,] 0.718272427 0.97619617 0.74367241 0.15140195
## [8,] 0.877116530 0.24173325 0.97677984 0.15241205
## [9,] 0.504172787 0.55985372 0.70908226 0.31018804
## [10,] 0.146564300 0.09784548 0.40310521 0.98099815
# Transpose the matrix
matrix_M_T <- t(matrix_M)
# Print the element in the second row and first column
element_value <- matrix_M_T[2, 1]
print(element_value)
## [1] 0.8247761
# Nested loop to calculate inner product manually
N <- matrix(0, 10, 10)
for (i in 1:10) {
for (j in 1:10) {
N[i, j] <- sum(matrix_M_T[i, ] * matrix_M[, j])
}
}
print(N)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 3.275963 1.717242 2.207052 2.126699 3.192975 1.713515 2.069732 2.790128
## [2,] 1.717242 1.436658 1.219112 1.461033 1.775374 1.017227 1.392751 1.849821
## [3,] 2.207052 1.219112 3.217682 2.019048 2.711555 1.938401 2.682865 1.855146
## [4,] 2.126699 1.461033 2.019048 2.256773 2.505795 1.786109 2.301960 2.402483
## [5,] 3.192975 1.775374 2.711555 2.505795 3.954023 2.239742 2.801149 2.944054
## [6,] 1.713515 1.017227 1.938401 1.786109 2.239742 2.336009 1.896350 1.654951
## [7,] 2.069732 1.392751 2.682865 2.301960 2.801149 1.896350 3.229970 2.002524
## [8,] 2.790128 1.849821 1.855146 2.402483 2.944054 1.654951 2.002524 3.539656
## [9,] 3.008484 2.003294 3.093395 2.454644 3.393820 1.874594 3.014415 2.936025
## [10,] 1.611981 1.088490 1.757682 1.208163 1.801812 1.700579 1.192341 1.315239
## [,9] [,10]
## [1,] 3.008484 1.611981
## [2,] 2.003294 1.088490
## [3,] 3.093395 1.757682
## [4,] 2.454644 1.208163
## [5,] 3.393820 1.801812
## [6,] 1.874594 1.700579
## [7,] 3.014415 1.192341
## [8,] 2.936025 1.315239
## [9,] 4.107521 1.743856
## [10,] 1.743856 1.939498
# Calculate using %*% operator
N_operator <- matrix_M_T %*% matrix_M
print(N_operator)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 3.275963 1.717242 2.207052 2.126699 3.192975 1.713515 2.069732 2.790128
## [2,] 1.717242 1.436658 1.219112 1.461033 1.775374 1.017227 1.392751 1.849821
## [3,] 2.207052 1.219112 3.217682 2.019048 2.711555 1.938401 2.682865 1.855146
## [4,] 2.126699 1.461033 2.019048 2.256773 2.505795 1.786109 2.301960 2.402483
## [5,] 3.192975 1.775374 2.711555 2.505795 3.954023 2.239742 2.801149 2.944054
## [6,] 1.713515 1.017227 1.938401 1.786109 2.239742 2.336009 1.896350 1.654951
## [7,] 2.069732 1.392751 2.682865 2.301960 2.801149 1.896350 3.229970 2.002524
## [8,] 2.790128 1.849821 1.855146 2.402483 2.944054 1.654951 2.002524 3.539656
## [9,] 3.008484 2.003294 3.093395 2.454644 3.393820 1.874594 3.014415 2.936025
## [10,] 1.611981 1.088490 1.757682 1.208163 1.801812 1.700579 1.192341 1.315239
## [,9] [,10]
## [1,] 3.008484 1.611981
## [2,] 2.003294 1.088490
## [3,] 3.093395 1.757682
## [4,] 2.454644 1.208163
## [5,] 3.393820 1.801812
## [6,] 1.874594 1.700579
## [7,] 3.014415 1.192341
## [8,] 2.936025 1.315239
## [9,] 4.107521 1.743856
## [10,] 1.743856 1.939498
# Compare results
identical(N, N_operator)
## [1] FALSE
# Load the CSV file into R
stock_data <- read.csv("~/desktop/stock_data-1.csv")
print(head(stock_data))
## X AAPL AMGN AXP BA CAT CRM CSCO CVX
## 1 1996-01-02 0.286830 14.56250 12.10832 39.93750 14.87500 NA 4.243055 26.43750
## 2 1996-01-03 0.286830 14.40625 12.10832 39.56250 15.12500 NA 4.076389 26.50000
## 3 1996-01-04 0.281808 13.78125 11.99890 38.56250 15.00000 NA 3.923611 27.25000
## 4 1996-01-05 0.305804 14.09375 11.96243 39.25000 15.25000 NA 3.972222 27.68750
## 5 1996-01-08 0.309152 13.85938 11.96243 40.12500 15.18750 NA 3.934028 27.81250
## 6 1996-01-09 0.292411 13.53125 11.78008 39.67969 14.78125 NA 3.631944 27.92188
## DIS DOW GS HD IBM INTC JNJ JPM KO
## 1 20.01773 NA NA 10.527778 22.71875 7.328125 21.06250 19.58333 18.75000
## 2 20.14104 NA NA 10.333333 22.31250 7.218750 21.90625 19.58333 18.90625
## 3 19.89442 NA NA 10.305555 21.71875 7.187500 21.68750 18.75000 18.75000
## 4 20.26435 NA NA 10.055555 22.15625 7.187500 21.68750 18.66667 18.65625
## 5 20.38767 NA NA 9.777778 22.28125 7.203125 21.96875 18.66667 18.78125
## 6 20.41850 NA NA 9.666667 21.68750 6.875000 22.09375 18.20833 18.53125
## MCD MMM MRK MSFT NKE PG TRV UNH V
## 1 22.7500 33.87500 32.1250 5.609375 4.445313 20.78125 28.2500 8.078125 NA
## 2 22.7500 33.81250 31.6875 5.429688 4.312500 21.40625 28.6250 8.109375 NA
## 3 22.8750 33.68750 31.8750 5.460938 4.265625 21.75000 29.0000 8.187500 NA
## 4 22.5000 33.75000 31.5000 5.398438 4.132813 21.84375 29.0625 7.859375 NA
## 5 22.5625 33.50000 31.9375 5.390625 4.203125 21.93750 29.1875 7.703125 NA
## 6 22.1875 33.01562 31.7500 5.011719 4.117188 21.90625 28.9375 7.265625 NA
## VZ WBA WMT
## 1 30.46456 7.53125 11.6250
## 2 31.42009 7.50000 11.7500
## 3 30.85801 7.40625 11.8750
## 4 31.19526 7.68750 11.6875
## 5 30.97043 7.62500 11.6875
## 6 30.93530 7.56250 11.5000
# Remove columns with NA values
cleaned_data <- stock_data[, colSums(is.na(stock_data)) == 0]
print(head(cleaned_data))
## X AAPL AMGN AXP BA CAT CSCO CVX
## 1 1996-01-02 0.286830 14.56250 12.10832 39.93750 14.87500 4.243055 26.43750
## 2 1996-01-03 0.286830 14.40625 12.10832 39.56250 15.12500 4.076389 26.50000
## 3 1996-01-04 0.281808 13.78125 11.99890 38.56250 15.00000 3.923611 27.25000
## 4 1996-01-05 0.305804 14.09375 11.96243 39.25000 15.25000 3.972222 27.68750
## 5 1996-01-08 0.309152 13.85938 11.96243 40.12500 15.18750 3.934028 27.81250
## 6 1996-01-09 0.292411 13.53125 11.78008 39.67969 14.78125 3.631944 27.92188
## DIS HD IBM INTC JNJ JPM KO MCD
## 1 20.01773 10.527778 22.71875 7.328125 21.06250 19.58333 18.75000 22.7500
## 2 20.14104 10.333333 22.31250 7.218750 21.90625 19.58333 18.90625 22.7500
## 3 19.89442 10.305555 21.71875 7.187500 21.68750 18.75000 18.75000 22.8750
## 4 20.26435 10.055555 22.15625 7.187500 21.68750 18.66667 18.65625 22.5000
## 5 20.38767 9.777778 22.28125 7.203125 21.96875 18.66667 18.78125 22.5625
## 6 20.41850 9.666667 21.68750 6.875000 22.09375 18.20833 18.53125 22.1875
## MMM MRK MSFT NKE PG TRV UNH VZ WBA
## 1 33.87500 32.1250 5.609375 4.445313 20.78125 28.2500 8.078125 30.46456 7.53125
## 2 33.81250 31.6875 5.429688 4.312500 21.40625 28.6250 8.109375 31.42009 7.50000
## 3 33.68750 31.8750 5.460938 4.265625 21.75000 29.0000 8.187500 30.85801 7.40625
## 4 33.75000 31.5000 5.398438 4.132813 21.84375 29.0625 7.859375 31.19526 7.68750
## 5 33.50000 31.9375 5.390625 4.203125 21.93750 29.1875 7.703125 30.97043 7.62500
## 6 33.01562 31.7500 5.011719 4.117188 21.90625 28.9375 7.265625 30.93530 7.56250
## WMT
## 1 11.6250
## 2 11.7500
## 3 11.8750
## 4 11.6875
## 5 11.6875
## 6 11.5000
# Install and load the quantmod package
install.packages("quantmod")
##
## The downloaded binary packages are in
## /var/folders/75/rgjhypt93znblk89qjl_7f1m0000gn/T//Rtmpx2CssI/downloaded_packages
library(quantmod)
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
# Get Amazon stock data from 2021-01-01 to 2021-12-31
getSymbols("AMZN", from = "2021-01-01", to = "2021-12-31", src = "yahoo")
## [1] "AMZN"
# Save the data to CSV
write.csv(AMZN, file = "Amazon_Stock_2021.csv")
# Calculate weekly log returns based on adjusted closing prices
weekly_returns <- periodReturn(AMZN$AMZN.Adjusted, period = "weekly", type = "log")
print(weekly_returns)
## weekly.returns
## 2021-01-08 -0.001234056
## 2021-01-15 -0.024957758
## 2021-01-22 0.058793021
## 2021-01-29 -0.026478702
## 2021-02-05 0.044515500
## 2021-02-12 -0.022456924
## 2021-02-19 -0.008520799
## 2021-02-26 -0.049505337
## 2021-03-05 -0.030353282
## 2021-03-12 0.029240468
## 2021-03-19 -0.004714145
## 2021-03-26 -0.007484948
## 2021-04-01 0.035081500
## 2021-04-09 0.064676901
## 2021-04-16 0.008045359
## 2021-04-23 -0.017376430
## 2021-04-30 0.037176531
## 2021-05-07 -0.052033975
## 2021-05-14 -0.021095238
## 2021-05-21 -0.006168712
## 2021-05-28 0.006221452
## 2021-06-04 -0.005241641
## 2021-06-11 0.042920969
## 2021-06-18 0.040999426
## 2021-06-25 -0.024808357
## 2021-07-02 0.031690438
## 2021-07-09 0.057651030
## 2021-07-16 -0.039964303
## 2021-07-23 0.022962793
## 2021-07-30 -0.094296371
## 2021-08-06 0.005200394
## 2021-08-13 -0.015355187
## 2021-08-20 -0.028958364
## 2021-08-27 0.045714760
## 2021-09-03 0.037621841
## 2021-09-10 -0.002562139
## 2021-09-17 -0.001912943
## 2021-09-24 -0.010743398
## 2021-10-01 -0.042416494
## 2021-10-08 0.001631225
## 2021-10-15 0.035956861
## 2021-10-22 -0.021787322
## 2021-10-29 0.010996025
## 2021-11-05 0.042540392
## 2021-11-12 0.001749051
## 2021-11-19 0.042057257
## 2021-11-26 -0.047915328
## 2021-12-03 -0.033296975
## 2021-12-10 0.015935319
## 2021-12-17 -0.012824925
## 2021-12-23 0.006162658
## 2021-12-30 -0.014271088
# Calculate median, mean, and standard deviation of weekly log returns
median_return <- median(weekly_returns)
mean_return <- mean(weekly_returns)
sd_return <- sd(weekly_returns)
print(paste("Median:", median_return))
## [1] "Median: -0.00223754114148767"
print(paste("Mean:", mean_return))
## [1] "Mean: 0.001092423721941"
print(paste("Standard Deviation:", sd_return))
## [1] "Standard Deviation: 0.0335935710423921"
# Install and load the quantmod package
install.packages("quantmod")
##
## The downloaded binary packages are in
## /var/folders/75/rgjhypt93znblk89qjl_7f1m0000gn/T//Rtmpx2CssI/downloaded_packages
library(quantmod)
# Get Amazon stock data from 2021-01-01 to 2021-12-31
getSymbols("AMZN", from = "2021-01-01", to = "2021-12-31", src = "yahoo")
## [1] "AMZN"
# Save the data to CSV
write.csv(AMZN, file = "Amazon_Stock_2021.csv")
# Calculate weekly log returns based on adjusted closing prices
weekly_returns <- periodReturn(AMZN$AMZN.Adjusted, period = "weekly", type = "log")
print(weekly_returns)
## weekly.returns
## 2021-01-08 -0.001234056
## 2021-01-15 -0.024957758
## 2021-01-22 0.058793021
## 2021-01-29 -0.026478702
## 2021-02-05 0.044515500
## 2021-02-12 -0.022456924
## 2021-02-19 -0.008520799
## 2021-02-26 -0.049505337
## 2021-03-05 -0.030353282
## 2021-03-12 0.029240468
## 2021-03-19 -0.004714145
## 2021-03-26 -0.007484948
## 2021-04-01 0.035081500
## 2021-04-09 0.064676901
## 2021-04-16 0.008045359
## 2021-04-23 -0.017376430
## 2021-04-30 0.037176531
## 2021-05-07 -0.052033975
## 2021-05-14 -0.021095238
## 2021-05-21 -0.006168712
## 2021-05-28 0.006221452
## 2021-06-04 -0.005241641
## 2021-06-11 0.042920969
## 2021-06-18 0.040999426
## 2021-06-25 -0.024808357
## 2021-07-02 0.031690438
## 2021-07-09 0.057651030
## 2021-07-16 -0.039964303
## 2021-07-23 0.022962793
## 2021-07-30 -0.094296371
## 2021-08-06 0.005200394
## 2021-08-13 -0.015355187
## 2021-08-20 -0.028958364
## 2021-08-27 0.045714760
## 2021-09-03 0.037621841
## 2021-09-10 -0.002562139
## 2021-09-17 -0.001912943
## 2021-09-24 -0.010743398
## 2021-10-01 -0.042416494
## 2021-10-08 0.001631225
## 2021-10-15 0.035956861
## 2021-10-22 -0.021787322
## 2021-10-29 0.010996025
## 2021-11-05 0.042540392
## 2021-11-12 0.001749051
## 2021-11-19 0.042057257
## 2021-11-26 -0.047915328
## 2021-12-03 -0.033296975
## 2021-12-10 0.015935319
## 2021-12-17 -0.012824925
## 2021-12-23 0.006162658
## 2021-12-30 -0.014271088
# Calculate median, mean, and standard deviation of weekly log returns
median_return <- median(weekly_returns)
mean_return <- mean(weekly_returns)
sd_return <- sd(weekly_returns)
print(paste("Median:", median_return))
## [1] "Median: -0.00223754114148767"
print(paste("Mean:", mean_return))
## [1] "Mean: 0.001092423721941"
print(paste("Standard Deviation:", sd_return))
## [1] "Standard Deviation: 0.0335935710423921"
# Plot the distribution of daily log returns
daily_returns <- dailyReturn(AMZN$AMZN.Adjusted, type = "log")
hist(daily_returns, breaks = 50, main = "Distribution of Daily Log Returns", xlab = "Log Return", col = "blue")

# Plot the distribution of daily log returns
daily_returns <- dailyReturn(AMZN$AMZN.Adjusted, type = "log")
hist(daily_returns, breaks = 50, main = "Distribution of Daily Log Returns", xlab = "Log Return", col = "blue")
# Count the number of log returns between 0.01 and 0.015
count_in_range <- sum(daily_returns >= 0.01 & daily_returns <= 0.015)
print(count_in_range)
## [1] 31
# Install and load the dplyr package for pipe functionality
install.packages("dplyr")
##
## The downloaded binary packages are in
## /var/folders/75/rgjhypt93znblk89qjl_7f1m0000gn/T//Rtmpx2CssI/downloaded_packages
library(dplyr)
##
## ######################### Warning from 'xts' package ##########################
## # #
## # The dplyr lag() function breaks how base R's lag() function is supposed to #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
## # source() into this session won't work correctly. #
## # #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
## # dplyr from breaking base R's lag() function. #
## # #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
## # #
## ###############################################################################
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
##
## first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Load the CSV file and remove columns with NA values using pipe
cleaned_data_pipe <- stock_data %>%
select_if(~ all(!is.na(.)))
print(head(cleaned_data_pipe))
## X AAPL AMGN AXP BA CAT CSCO CVX
## 1 1996-01-02 0.286830 14.56250 12.10832 39.93750 14.87500 4.243055 26.43750
## 2 1996-01-03 0.286830 14.40625 12.10832 39.56250 15.12500 4.076389 26.50000
## 3 1996-01-04 0.281808 13.78125 11.99890 38.56250 15.00000 3.923611 27.25000
## 4 1996-01-05 0.305804 14.09375 11.96243 39.25000 15.25000 3.972222 27.68750
## 5 1996-01-08 0.309152 13.85938 11.96243 40.12500 15.18750 3.934028 27.81250
## 6 1996-01-09 0.292411 13.53125 11.78008 39.67969 14.78125 3.631944 27.92188
## DIS HD IBM INTC JNJ JPM KO MCD
## 1 20.01773 10.527778 22.71875 7.328125 21.06250 19.58333 18.75000 22.7500
## 2 20.14104 10.333333 22.31250 7.218750 21.90625 19.58333 18.90625 22.7500
## 3 19.89442 10.305555 21.71875 7.187500 21.68750 18.75000 18.75000 22.8750
## 4 20.26435 10.055555 22.15625 7.187500 21.68750 18.66667 18.65625 22.5000
## 5 20.38767 9.777778 22.28125 7.203125 21.96875 18.66667 18.78125 22.5625
## 6 20.41850 9.666667 21.68750 6.875000 22.09375 18.20833 18.53125 22.1875
## MMM MRK MSFT NKE PG TRV UNH VZ WBA
## 1 33.87500 32.1250 5.609375 4.445313 20.78125 28.2500 8.078125 30.46456 7.53125
## 2 33.81250 31.6875 5.429688 4.312500 21.40625 28.6250 8.109375 31.42009 7.50000
## 3 33.68750 31.8750 5.460938 4.265625 21.75000 29.0000 8.187500 30.85801 7.40625
## 4 33.75000 31.5000 5.398438 4.132813 21.84375 29.0625 7.859375 31.19526 7.68750
## 5 33.50000 31.9375 5.390625 4.203125 21.93750 29.1875 7.703125 30.97043 7.62500
## 6 33.01562 31.7500 5.011719 4.117188 21.90625 28.9375 7.265625 30.93530 7.56250
## WMT
## 1 11.6250
## 2 11.7500
## 3 11.8750
## 4 11.6875
## 5 11.6875
## 6 11.5000