Hi, Check the ?str() of my.table. library(XML) u='http://www.ininternet.org/calorie.htm' tables1 = readHTMLTable(u) my.table1=tables1[[9]] with(my.table1,mean(PROTEINE)) #[1] NA #Warning message: #In mean.default(PROTEINE) : # argument is not numeric or logical: returning NA
str(my.table1) 'data.frame': 215 obs. of 6 variables: $ ALIMENTO : Factor w/ 215 levels "ACCIUGHE SALATE",..: 1 2 3 4 5 6 7 8 9 10 ... $ PROTEINE : Factor w/ 31 levels "0","1","10","11",..: 18 19 26 11 2 18 19 2 2 17 ... $ GRASSI : Factor w/ 42 levels "0","1","10","100",..: 2 6 1 15 1 2 6 1 1 20 ... $ CARBOIDRATI: Factor w/ 39 levels "0","1","10","100",..: 1 1 13 1 37 1 1 3 5 1 ... $ CALORIE : Factor w/ 100 levels "10","100","115",..: 3 25 2 36 47 3 25 76 70 4 ... $ COLESTEROLO: Factor w/ 34 levels "0.000","0.006",..: 19 25 1 19 1 17 25 1 1 25 ... my.table1[,-1] <- lapply(my.table1[,-1], function(x) as.numeric(as.character(x))) with(my.table1,mean(PROTEINE)) #[1] 10.81395 #or you could use `colClasses` argument in ?readHTMLTable tables = readHTMLTable(u,colClasses=c("character",rep("numeric",5))) my.table <- tables[[9]] with(my.table,mean(PROTEINE)) #[1] 10.81395 Also, it is not recommended to ?attach the dataset. Use ?with. Hope it helps. A.K. Hello, I have imported a html table into R: u='http://www.ininternet.org/calorie.htm' tables = readHTMLTable(u) my.table=tables[[9]] View(my.table) But now I have problems when I want to analyze the data and apply any function, for example > mean(PROTEINE) Warning message: In mean.default(PROTEINE) : argument is not numeric or logical: returning NA Please tell me how to import a table so that I could analyze the data properly. ______________________________________________ R-help@r-project.org mailing list 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.