2013-10-20 3 views
1

첫 번째 행에 파일이 희소한지 여부를 알려주는 한 줄의 입력 파일을 작성하려고합니다. 파일 끝에 한 줄을 추가하는 방법을 알고 있지만 파일의 첫 줄에 추가하는 방법을 찾을 수 없습니다. 어떤 제안?R 파일에 쓰기/파일 시작 부분에 추가하십시오.

library(e1071) 
library(caret) 
library(Matrix) 
library(SparseM) 

iris2 <- iris 
iris2$sepalOver5 <- ifelse(iris2$Sepal.Length >= 5, 1, -1) 
head(iris2) 
summary(iris2) 

trainRows <- sample(1:nrow(iris2), nrow(iris2) * .66, replace = F) 
testRows <- which(!(1:nrow(iris2) %in% trainRows)) 
sum(testRows %in% trainRows) 
sum(trainRows %in% testRows) 

vtu1 <- c('Sepal.Width','Petal.Length','Petal.Width','Species') 
dv1 <- dummyVars(~., data = iris2[,vtu1], sparse = T) 

train <- iris2[trainRows,] 
test <- iris2[testRows,] 

trainX <- as.matrix.csr(predict(dv1, train)) 
testX <- as.matrix.csr(predict(dv1, test)) 
trainY <- train[,'sepalOver5'] 
testY <- test[,'sepalOver5'] 

write.matrix.csr(as(trainX , "matrix.csr"), file= "amz.train" , fac = TRUE) 
headString <- paste('sparse ',max([email protected]),sep = '') 

나는 기본적으로/삽입 첫 번째 행에 amz.trainheadString를 추가하고 싶습니다. 어떤 제안?

답변

0

일반적으로 파일의 시작을 미리 지정할 수는 없으며 (메모리가있는 파일의 시작 정보는 일반적으로 알 수 없으므로 방법이 있으면 실제로는 비효율적입니다.) 이는 모든 프로그래밍 언어).

세 가지 옵션이 마음에 와서 :

  • 정보를 쓰기 (또한 비효율적 일 수 있음) 파일의 내용의 나머지 다음에 먼저 다른 정보를, 쓰기, 파일의

    • 을 읽으 먼저 덧붙이고 싶습니다
    • (추가 옵션이없는 경우 write.matrix) 추가 할 수없는 작성자가있는 경우이 메타 정보를 데이터 프레임과 병합 한 다음 전체적으로 쓰려고 할 수 있습니다.

    특수한 형식을 사용하고 있으므로이 메타 정보를 이렇게 저장하는 것을 권장하지 않습니다.

    귀하의 파일과 같습니다

    sparse 6 
    1:3 2:5.2 3:2 6:1 
    1:3.7 2:1.5 3:0.2 4:1 
    1:3.2 2:6 3:1.8 6:1 
    

    그리고 옵션 4가있다 : 그것은 스파 스인지 여부, 같은 파일 이름과 같은 정보를 포함하는 메타 파일을 고려해, 오히려

    레벨 수. 여기에 추가 할 수 있으며,이 과정을 반복한다면 바람직 할 것입니다. 이상하게 포맷 된 파일을 읽는 문제를 피할 수 있습니다.

  • 관련 문제