私はコーディングが初めてで、研究目的でこのコードを同僚から受け取りました。このコードの元のデータセットは、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])
あなたのタイトルから尋ねていることはあまり明確ではありませんが、私はその質問に間違いがあると思っていましたが、それはありません。何が問題なのですか?また、外部リンクではなく、質問の本文に画像を含めてください。 – Taegost
データに列名があるようです。なぜ数値を使用するのではなく、列名を使用してデータをサブセット化しないのですか?これによって、列番号が変更されるたびにカウントが失われます。これはあなたにある方向を与えるはずです。 http://stackoverflow.com/questions/5234117/how-to-drop-columns-by-name-in-a-data-frame – user5249203
新しいデータセットには6つのテクスチャしかないので、パラメータを27から21に変更した変数「xが見つかりません」「エラーが定義されていない列が選択されています」上記のコードを修正する方法を知りたいので、上記の元のコードとして12のテクスチャ変数ではなく6つのテクスチャ変数。 – Nickelz