error in plot function (variable match was not found) - r
i am trying to plot my decision tree, but it keeps giving me this error, and i can not figure out what is wrong.
here's the code:
install.packages("foreign")
library("foreign")
install.packages("C50")
library(C50)
setwd("C:\\Users\\hp\\Music\\SefSec_2014_HH_weight new.sav")
df <- read.spss("C:\\Users\\hp\\Music\\SefSec_2014_HH_weight new.sav", to.data.frame = TRUE)
View(df)
summary(df)
#summary(df$C12_21)
controlFactor = C5.0Control(sample=0.7,seed=10,CF=0.25,winnow = TRUE ,minCases = 20)
model = C5.0(df[,c(427,432,437,422,447,452,457,462,467,472,482,487,477,492,497,502,503,504,505,506,507,508)], df[,512], control = controlFactor)
na.omit(df)
summary(model)
plot(model,type="s",main="Descision Tree")
and here's the error:
> plot(model,type="s",main="Descision Tree")
Error in FUN(X[[i]], ...) : Variable match was not found.
Related
Error in svd(X, nu = 0L) : infinite or missing values in 'x'
I am currentry working with some kind of data analysis by R studio. My project code is something like this: library(Momocs) library(geomorph) CharredCoords <- list.files("C:\\Users\\grain_coords_mod", full.names = TRUE) CharredFrame <- read.csv("C:\\Users\\data_matrix_new_mod.csv", header = TRUE) CharredTxt <- import_txt(CharredCoords, fileEncoding="UTF-8-BOM") CharredOut <- Out(CharredTxt, fac=CharredFrame) CharredOut1 <-coo_scale (CharredOut) CharredOut.l <- filter(CharredOut1, View == "l") CharredOut.d <- filter(CharredOut1, View == "d") CharredOut.l.efour <- efourier(CharredOut.l, nb.h=8, norm = FALSE, start = TRUE) CharredOut.d.efour <- efourier(CharredOut.d, nb.h=8, norm = FALSE, start = TRUE) Till its okay... Then after when I execute the following line, error occurs CharredOut.l %>% chop(~View) %>% lapply(efourier,nb.h=8, norm = FALSE, start = FALSE) %>% combine %>% LDA ('G_Variety', scale=FALSE, center= TRUE) Output: Error in svd(X, nu = 0L) : infinite or missing values in 'x' In addition: Warning message: In lda.default(x, grouping, ...) : variables are collinear Looking for some suggestion like what I suppose to do or check to solve that isuue. Thanks in advance.`enter image description here Code should be render for further ploting procedure.
Error in eval(expr, p): object 'X' not found; predict (BayesARIMAX)
I am trying to use BayesARIMAX to model and predict us gdp (you can find the data here: https://fred.stlouisfed.org/series/GDP).I followed the example (https://cran.r-project.org/web/packages/BayesARIMAX/BayesARIMAX.pdf) to build my model. I didnt have any major issue to build the model(used error handling to overcome Getting chol.default error when using BayesARIMAX in R issue). However could not get the prediction of the model. I tried to look for solution and there is no example of predicting the model that is build using BayesARIMAX. Every time that I run the "predict" I get the following error: "Error in eval(expr, p) : object 'X' not found" Here is my code. library(xts) library(zoo) library(tseries) library(tidyverse) library(fpp2) gdp <- read.csv("GDP.csv", head = T) date.q <- as.Date(gdp[, 1], "%Y-%m-%d") gdp <- xts(gdp[,2],date.q) train.row <- 248 number.row <- dim(merge.data)[1] gdp.train <- gdp[1:train.row] gdp.test <- gdp[(train.row+1):number.row] date.test <- date.q[(train.row+1):number.row] library(BayesARIMAX) #wrote this function to handle randomly procuded error due to MCMC simulation test_function <- function(a,b,P=1,Q=1,D=1,error_count = 0) { tryCatch( { model = BayesARIMAX(Y=a,X = b,p=P,q=Q,d=D) return(model) }, error = function(cond) { error_count=error_count+1 if (error_count <40) { test_function(a,b,P,Q,D,error_count = error_count) } else { print(paste("Model doesnt converge for ARIMA(",P,D,Q,")")) print(cond) } } ) } set.seed(1) x = rnorm(length(gdp.train),4,1) bayes_arima_model <- test_function(a = gdp.train,b=x,P = 3,D = 2,Q = 2) bayes_arima_pred <- xts(predict(bayes_arima_model[[1]],newxreg = x[1:3])$pred,date.test) and here is the error code Error in eval(expr, p) : object 'X' not found
Here is how I resolve the issue after reading through the BayesARIMAX code (https://rdrr.io/cran/BayesARIMAX/src/R/BayesianARIMAX.R) . I basically created the variable "X" and passed it to predict function to get the result. You just have to set the length of X variable equal to number of prediction. here is the solution code for prediction. X <- c(1:3) bayes_arima_pred <- xts(predict(bayes_arima_model[[1]],newxreg = X[1:3])$pred,date.test) which gave me the following results. bayes_arima_pred [,1] 2009-01-01 14462.24 2009-04-01 14459.73 2009-07-01 14457.23
Error in parse(text = x, keep.source = FALSE) : <text>:1:15: unexpected symbol 1: ID ~ 0+Offset Length
I would like to ask you for help. I am trying to perform MICE imputation of missing values in my dataset. Here is part of the code: imputed_Data <- mice(data, m=5, maxit = 10, method = "PMM", seed = 200) Unfortunately, this code returns the following error: Error in parse(text = x, keep.source = FALSE) : <text>:1:15: unexpected symbol 1: ID ~ 0+Offset Length ^ Does anybody knows where the mistake is? "ID" and "Offset Length" are variables in my dataset. Thank you, Blanka
R -> Error in `row.names<-.data.frame`
Following this other question (Get p-value about contrast hypothesis for rectangular matrix) I am trying to run the following code in R, but the line: colnames(posmat) <- "pos_c1" causes an error when calling the function summary(). Error in `row.names<-.data.frame`(`*tmp*`, value = value) : duplicate 'row.names' are not allowed In addition: Warning message: non-unique value when setting 'row.names': ‘Pos’ Does anybody knows why this error comes up? Here the MWE: library(lme4) library(lmerTest) library(corpcor) database <- data.frame( Clos=factor(c(4,4,1,4,4,3,2,1,2,1,2,2,4,3,1,2,1,4,1,3,2,2,4,4,4,4,2,1,4,2,2,1,4,2,4,2,1,4,4,3)), Pos=factor(c(2,4,1,2,5,6,7,2,2,2,5,6,3,3,3,8,5,3,4,2,1,4,3,3,2,6,1,8,3,7,5,7,8,3,6,6,1,6,3,7)), RF=c(8,6,2,9,7,1,7,6,3,4,6,4,5,2,5,5,3,4,1,3,1,2,3,1,2,2,3,1,8,5,2,2,7,1,9,4,5,6,4,2), Score=c(4,3,3,5,4,3,2,4,5,2,2,3,3,4,4,4,3,2,3,3,5,4,3,4,4,2,3,4,3,4,1,2,2,2,3,4,5,3,1,2) ) clos_c1 = c(0,0,-1,1) clos_c2 = c(0,-1,0,1) clos_c3 = c(-1,0,0,1) closmat.temp = rbind(constant = 1/4,clos_c1,clos_c2,clos_c3) closmat = solve(closmat.temp) closmat = closmat[, -1] closmat pos_c1 = c(1/2,1/2,-1/6,-1/6,-1/6,-1/6,-1/6,-1/6) posmat.temp = rbind(pos_c1) posmat = pseudoinverse(posmat.temp) colnames(posmat) <- "pos_c1" contrasts(database$Clos) = closmat contrasts(database$Pos) = posmat model = lmer(Score~Clos+Pos+(1|RF), data = database, REML = TRUE) summary(model)
The problem is that when you run the model, you have the contrasts(database$Pos) without colnames but just one. You can see that by running your model variable and you will see 6 variables with the name "Pos". This causes trouble in reading the summary() command. Just by adding the line colnames(contrasts(database$Pos))<-c("pos1","pos2","pos3","pos4","pos5","pos6","pos7") after the creation of your contrasts(database$Pos) <- posmat your code will work. Feel free to put the colnames you require. The whole code is as follows then: library(lme4) library(lmerTest) library(corpcor) database <- data.frame( Clos=factor(c(4,4,1,4,4,3,2,1,2,1,2,2,4,3,1,2,1,4,1,3,2,2,4,4,4,4,2,1,4,2,2,1,4,2,4,2,1,4,4,3)), Pos=factor(c(2,4,1,2,5,6,7,2,2,2,5,6,3,3,3,8,5,3,4,2,1,4,3,3,2,6,1,8,3,7,5,7,8,3,6,6,1,6,3,7)), RF=c(8,6,2,9,7,1,7,6,3,4,6,4,5,2,5,5,3,4,1,3,1,2,3,1,2,2,3,1,8,5,2,2,7,1,9,4,5,6,4,2), Score=c(4,3,3,5,4,3,2,4,5,2,2,3,3,4,4,4,3,2,3,3,5,4,3,4,4,2,3,4,3,4,1,2,2,2,3,4,5,3,1,2) ) clos_c1 = c(0,0,-1,1) clos_c2 = c(0,-1,0,1) clos_c3 = c(-1,0,0,1) closmat.temp = rbind(constant = 1/4,clos_c1,clos_c2,clos_c3) closmat = solve(closmat.temp) closmat = closmat[, -1] closmat pos_c1 = c(1/2,1/2,-1/6,-1/6,-1/6,-1/6,-1/6,-1/6) posmat.temp = rbind(pos_c1) posmat <- pseudoinverse(posmat.temp) colnames(posmat) <- "pos_c1" contrasts(database$Clos) <- closmat contrasts(database$Pos) <- posmat ##NEW LINE colnames(contrasts(database$Pos))<-c("pos1","pos2","pos3","pos4","pos5","pos6","pos7") model <- lmer(Score~Clos+Pos+(1|RF), data = database, REML = TRUE) summary(model) I hope it helps. Cheers!
Error: object not found - cor.ci
I'm trying to use cor.ci to obtain polychoric correlations with significance tests, but it keeps giving me an error message. Here is the code: install.packages("Hmisc") library(Hmisc) mydata <- spss.get("S-IAT for R.sav", use.value.labels=TRUE) install.packages('psych') library(psych) poly.example <- cor.ci(mydata(nvar = 10,n = 100)$items,n.iter = 10,poly = TRUE) poly.example print(corr.test(poly.example$rho), short=FALSE) Here is the error message it gives: > library(psych) > poly.example <- cor.ci(mydata(nvar = 10,n = 100)$items,n.iter = 10,poly = TRUE) Error in cor.ci(mydata(nvar = 10, n = 100)$items, n.iter = 10, poly = TRUE) : could not find function "mydata" > poly.example Error: object 'poly.example' not found > print(corr.test(poly.example$rho), short=FALSE) Error in is.data.frame(x) : object 'poly.example' not found How can I make it recognize mydata and/or select certain variables from this dataset for the analysis? I got the above code from here: Polychoric correlation matrix with significance in R Thanks!
You have several problems. 1) As previously commented upon, you are treating mydata as a function, but you need to treat it as a data.frame. Thus the call should be poly.example <- cor.ci(mydata,n.iter = 10,poly = TRUE) If you are trying to just get the first 100 cases and the first 10 variables, then poly.example <- cor.ci(mydata[1:10,1:100],n.iter = 10,poly = TRUE) 2) Then, you do not want to run corr.test on the resulting correlation matrix. corr.test should be run on the data. print(corr.test(mydata[1:10,1:100],short=FALSE) Note that corr.test is testing the Pearson correlation.