我是编码的新手,我从同事那里收到了此代码用于研究目的。该代码的原始数据集具有4个光谱变量,12个纹理变量以及光谱和纹理的组合,总共产生16个变量。我只使用纹理变量运行代码,但现在我在新数据集中只有6个纹理变量。我已经附加了下面原始代码的第一部分,其中我有12个纹理变量。请有人帮助我使用带有6个纹理变量的新数据集来更改我的代码...我附加了一个示例,说明我的数据是如何设置与原始数据集的设置方式完全相同,最后只有6个纹理变量。
这是图片:
#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])
答案 0 :(得分:0)
您只需进行一些小的调整:
#######################
#texture variables only
x<-data[,16:21]
#spectral variables only
#x<-data[,12:15]
#using all the variables
#x<-data[,12:21]
######################
如果这不能解决您的问题,请告诉我们!