选择错误未定义列

时间:2016-06-22 12:35:37

标签: r csv

我是编码的新手,我从同事那里收到了此代码用于研究目的。该代码的原始数据集具有4个光谱变量,12个纹理变量以及光谱和纹理的组合,总共产生16个变量。我只使用纹理变量运行代码,但现在我在新数据集中只有6个纹理变量。我已经附加了下面原始代码的第一部分,其中我有12个纹理变量。请有人帮助我使用带有6个纹理变量的新数据集来更改我的代码...我附加了一个示例,说明我的数据是如何设置与原始数据集的设置方式完全相同,最后只有6个纹理变量。

这是图片:

enter image description here

#change your work directory
#############################
setwd("C:/Texture")

############################

#output all resuls to a text file
#change apend to TRUE to record all analysis
#sink("Results.txt",append =F)

 source("plsrfsource.r")

    data<-read.csv("texture0ratios.csv",header=T, na.strings=c(".", "NA", "", "?"))

# Check the dataset

colnames(data)

#select response variable
#this example uses EnumAge

################
y <-data$EnumAge
################

#make sure that your explantory variables are in the same order as the example dataset

#######################
#texture variables only

x<-data[,16:27]

#spectral variables only
#x<-data[,12:15]

#using all the variables
#x<-data[,12:27]
######################


colnames(x)

#there must be 12 texture variables
#4 spectral variables
length (x)

#join the x and y 

dataset<-cbind(y,x)

# split into test and training datasets

set.seed(123)

inTrain <- createDataPartition(y, p = 0.7, list = F)
dataTrain<- dataset[inTrain[,1],]
dataTest <- dataset[-inTrain,]

trainY<-dataTrain$y
trainX<-as.matrix(dataTrain[-1])

testY<-dataTest$y
testX<-as.matrix(dataTest[-1])

1 个答案:

答案 0 :(得分:0)

您只需进行一些小的调整:

#######################
#texture variables only

x<-data[,16:21]

#spectral variables only
#x<-data[,12:15]

#using all the variables
#x<-data[,12:21]
######################

如果这不能解决您的问题,请告诉我们!