regarding the explanation of interaction plot I was trying to draw an interaction plot for two predictor variables as follows:
interaction.plot(xtest[,2],xtest[,8],y)

I got the following plot. I do not know how to analyze/explain this figure, which is quite different with the interaction plot we usually see. The data set is also attached.


 A: The interaction.plot function is for categorical data. You need a plotting function for continuous data. Further, the predictor in column 8 suggests it's not a designed study so you may have correlations between your predictors. You might want to look at the visreg package. It can plot interactions and also make residualized plots that show the effects of one variable accounting for the correlation with the other.
If you want to learn to make an interaction plot on your own then you very likely want to make your interaction plot using predicted values from your regression. The actual data points would only be used to show goodness of fit but not the interaction per se. 
You could make a scatter plot of y against x2 using three different colours for low, middle, and high values of x1. Then, you predict values in your model for y given x2 at the middle of each of those thirds of x1 and put a line corresponding to the original colours. Imagine it's like you're constructed a 3d plot using colour for the third dimension with x1 being the depth. A proper 2-way regression interaction plot is 3-dimensional but unless they can be rotated I never really like 3-dimensional plots.
Or... you can just use visreg. It will parse the layers (done by colour above) into multiple panes.
