2016-06-22 11 views
-1

私はコーディングが初めてで、研究目的でこのコードを同僚から受け取りました。このコードの元のデータセットは、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]) 
+0

あなたのタイトルから尋ねていることはあまり明確ではありませんが、私はその質問に間違いがあると思っていましたが、それはありません。何が問題なのですか?また、外部リンクではなく、質問の本文に画像を含めてください。 – Taegost

+0

データに列名があるようです。なぜ数値を使用するのではなく、列名を使用してデータをサブセット化しないのですか?これによって、列番号が変更されるたびにカウントが失われます。これはあなたにある方向を与えるはずです。 http://stackoverflow.com/questions/5234117/how-to-drop-columns-by-name-in-a-data-frame – user5249203

+0

新しいデータセットには6つのテクスチャしかないので、パラメータを27から21に変更した変数「xが見つかりません」「エラーが定義されていない列が選択されています」上記のコードを修正する方法を知りたいので、上記の元のコードとして12のテクスチャ変数ではなく6つのテクスチャ変数。 – Nickelz

答えて

0

あなたが唯一のいくつかのマイナーな調整を行う必要があります:

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

x<-data[,16:21] 

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

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

はこれで問題が解決しない場合は、私に教えてください。ここ

画像です!

+0

応答をありがとう。最初の考えは、私が6つのテクスチャ変数しか持たないので、27の代わりに21を使って提案した変更を加えることでした。私がその変更を加えたときにエラーが発生しました... "xが見つかりません" "エラーが未定義の列が選択されました"と言われています。私はこのコードを書いておらず、それを書いた同僚は会議で国外にいて、この研究が始まる前にコードを修正することはできません。あなたの助けは非常に高く評価されます。 – Nickelz

関連する問題