Hello,
Here is your code, simplified and maybe corrected.
Some previous notes:
1. You don't need to attach()
2. You don't need to create categorydata<- as.data.frame(OrigData),
read.csv already outputs a data.frame. In the code below, I use Origdata.
3. The file has many missing values, so I have cleaned the data. The
code lines with the new pipe operator (R 4.1.0) give the dim of OrigData
after cleansing and create the data.frame CleanData, with all complete
rows, no missing values. There are a total of 968 rows with missing
values so CleanData only has 840 rows.
4. Instead of having a very long regression formula, I use grep to get
the column names starting with "B6_" and then a series of paste
assembles the regression formula.
library(relaimpo)
# Read the data in. I've downloaded it to this directory
path <- "~/tmp"
filename <- "BB HTTF stacked B1, B3, B5, B6, C9 + FILTERED.csv"
filename <- file.path(path, filename)
OrigData <- read.csv(filename)
###### BRAND PERFORMANCE ADVOCACY (B5) ####
# Runs a standard linear regression.
resp <- "B5"
regr_names <- grep("B6_", names(OrigData), value = TRUE)
regr <- paste(regr_names, collapse = " + ")
fmla <- as.formula(paste(resp, regr, sep = " ~ "))
dim(OrigData)
#[1] 1808 63
OrigData[c(resp, regr_names)] |> na.omit() |> dim()
#[1] 840 28
CleanData <- OrigData[c(resp, regr_names)] |> na.omit()
linmod4 <- lm(fmla, data = OrigData, na.action = na.exclude)
linmod4_b <- lm(fmla, data = CleanData)
all(coef(linmod4) == coef(linmod4_b))
#[1] TRUE
# Runs Shapley Value Regression with all the
# coefficients set to sum a hundred
# Any of these first two equivalent forms
# take a very long time
f4_lmg <- calc.relimp(
linmod4_b,
type = "lmg",
rela = TRUE
)
f4_lmg_b <- calc.relimp(
formula = fmla,
type = "lmg",
rela = TRUE,
data = CleanData
)
# These equivalent forms are quickly done
f4_firstlast <- calc.relimp(
linmod4_b,
type = c("first","last"),
rela = TRUE
)
f4_firstlast_b <- calc.relimp(
formula = fmla,
type = c("first","last"),
rela = TRUE,
data = CleanData
)
Coefficient4 <- f4_lmg$lmg
Rsq4 <- f4_firstlast$R2
Proportion4 <- Coefficient4 * Rsq4
Hope this helps,
Rui Barradas
Às 13:36 de 24/11/21, Olivia Keefer escreveu:
Apologies. First time posting and new to R so a lot of learning. Hope my
attachments are helpful now.
#This loads the required package. Always select UK Bristol as a CRAN MIRROR /
LOCATION
#1. Highlight the below code and run (3rd icon or right click)
require(relaimpo)
install.packages('relaimpo',dep=TRUE)
install.packages('iterators')
install.packages('foreach')
#2. Change directory to where all files are and change back slash to forward
slash
setwd('/Users/okeefer/Documents/Regressions')
#Once final SPSS file is created save it as a CSV in same location.
#4. Below code opens the original file with data at respondent level. Update
the name of data file only.
OrigData = read.csv("BB HTTF stacked B1, B3, B5, B6, C9 + FILTERED.csv")
#5. <Run below code to bottom do not need to change anything
#Shows all the variables names of the dataset
names(OrigData)
#Shows all the dimensions and class of the dataset
dim(OrigData)
class(OrigData)
#Creates a data frame
categorydata<- as.data.frame(OrigData)
#Shows all the variables & class from the newly created variable
names(categorydata)
class(categorydata)
#Makes the object accessible
attach(categorydata)
#>
######BRAND PERFORMANCE ADVOCACY (B5)####
#Runs a standard linear regression. Update predictor and outcome variables. The
variable names only.
#First variable is Dependent variable. Ensure a + sign is between all
independent variables. Ensure there is a space before and after +
linmod4 <- lm( B5 ~ B6_1 + B6_2 + B6_3 + B6_4 + B6_5 + B6_6 + B6_7 + B6_8 +
B6_9 + B6_10 + B6_11 + B6_12 + B6_13 + B6_14 + B6_15 + B6_16 + B6_17 + B6_18 +
B6_19 + B6_20 + B6_21 + B6_22 + B6_23 + B6_24 + B6_25 + B6_26 + B6_27 , data=
categorydata)
#Runs Shapley Value Regression with all the coefficients set to sum a hundred
f4 <-calc.relimp(linmod4,type = c("lmg","first","last"), rela = TRUE)
Coefficient4 = f4$lmg
Rsq4 = f4$R2
Proportion4 = Coefficient4 * Rsq4
### Display CoEfficients
Coefficient4
### Display R-Sq
Rsq4
### Proportion of Model Explained by variable. Change file name to reflect
project
Proportion4
Results4 = cbind(Coefficient4,Proportion4,Rsq4)
write.csv(Results4, file = "bb_HTTF_performance_advocacy.csv")
Olivia Keefer
Insights Analyst
she/her/hers
Monigle
575 8th Avenue
Suite 1716
New York, NY 10018
M 740.701.2163
okee...@monigle.com
www.monigle.com <http://www.monigle.com/>
linkedin <http://www.linkedin.com/company/monigle/>| twitter
<https://twitter.com/Monigle>| monigle blog <http://www.monigle.com/blog/>
On 11/24/21, 2:59 AM, "Rui Barradas" <ruipbarra...@sapo.pt> wrote:
Hello,
You ask a question on a certain regression that exhausts vector memory
but don't post the regression(s) code (and data, btw).
And load package relaimpo before installing it.
Can you please read the posting guide linked to at the bottom of this
and every R-Help mail? As is there's nothing to answer to.
Hope this helps,
Rui Barradas
Às 20:26 de 23/11/21, Olivia Keefer escreveu:
> Hello!
>
> My colleague and I have continually run into this error and would like
to better understand why and how to remedy. We have been able to run other
regressions, but when we go to run a certain set of variables, we both are getting
this message each time we try.
>
> Any insight would be helpful as to 1) why and 2) how to remedy.
>
> Attaching our package as well here if it is helpful:
>
>
>
> #This loads the required package. Always select UK Bristol as a CRAN
MIRROR / LOCATION
>
> #1. Highlight the below code and run (3rd icon or right click)
>
>
>
> require(relaimpo)
>
> install.packages('relaimpo',dep=TRUE)
>
> install.packages('iterators')
>
> install.packages('foreach')
>
>
> Thanks!
>
> Olivia Keefer
> Insights Analyst
> she/her/hers
>
> Monigle
> 575 8th Avenue
> Suite 1716
> New York, NY 10018
> M 740.701.2163
> okee...@monigle.com<mailto:okee...@monigle.com>
> www.monigle.com<http://www.monigle.com/>
> linkedin<http://www.linkedin.com/company/monigle/>|
twitter<https://twitter.com/Monigle>| monigle blog<http://www.monigle.com/blog/>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
NOTICE: This email originated outside of Monigle Associates. Please be
diligent about verifying the sender and validity of this message. Report this
message if necessary.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.