2017-06-16 12 views
0

したがって、私はcsvファイルであるこのデータセットを処理しています。 20行への値の割り当て

acbe 19 RAM5 ACB 18 RAM4 ABCDEF 17 RAM3 ABCDE 16 RAM2 ABCD MYDATA = 名学校total_consumption ラムABC 15 RAM1今は降順で全データをソートした後、セグメントを割り当てますセグメントの番号は、ユーザーから入力として取得されます。ユーザーが2を入力すると、2つのセグメントが存在するとします。今の行のない合計を2で除算されず、その後、最初の半分は、セグメント1と第2の半分になり、セグメント2

セグメントヴァルなり= 2 出力segemnt 20 S1 19 S1 18 S1 17 S2ここ
16 S2 15 S2

私のコードです:

library(dplyr) 
library(reshape2) 
library (hts) 

setwd("C:/Users/Desktop/r") 
mydata <- read.csv("read1.csv") 

mydata$newcolumn <- NA 

temp1 <- mydata[order(mydata$fy_vol, decreasing = TRUE),] 

nrow(temp1) 
row <- nrow(temp1) 

readinteger <- function() 
{ 
n <- readline(prompt="Enter number of quant: ") 
n <- as.integer(n) 
if (is.na(n)){ 
n <- readinteger() 
} 
return(n) 
} 

q <- readinteger() 
nrow(temp1) 
row <- nrow(temp1) 
+0

私はあなたが何を取得しているかを行うために使用できるデータはありません。質問は明確に定義されていません。コードに間違いがあります。たとえば。注文書にはデータ$ fy_volの代わりに$ total_consumptionというデータが必要です。 – Lune3414

答えて

1

あなたの質問は、あまりにも多くの問題があります。 「どのように再現性の良い例を作るか」をお読みください。次のコードセットは、あなたが何を得ているのかをさせるものです。

library(dplyr) 
library(reshape2) 
library (hts) 

setwd("C:/Users/Desktop/r") 
mydata <- read.csv("read1.csv") 

col1 <- c('ram1','ram2','ram3','ram4','ram5','ram6') 
col2 <- c('abc','abcd','abcde','abcdef','abcdefg','abcdefgh') 
col3 <- c(15:20) 

mydata <- data.frame(name = col1, school = col2, total_consumption = 
col3)     

mydata$newcolumn <- NA 

temp1 <- mydata[order(mydata$total_consumption, decreasing = TRUE),] 

nrow(temp1) 
row <- nrow(temp1) 

readinteger <- function() 
{ 
n <- readline(prompt="Enter number of quant: ") 
n <- as.integer(n) 
if (is.na(n)){ 
n <- readinteger() 
} 
return(n) 
} 

q <- readinteger() 
nrow(temp1) 
row <- nrow(temp1) 

#calculate the size of split based on if the entry is odd or even. 
seg1 <- ifelse(row %% q == 0,row/2,row/2-0.5) 

temp1$newcolumn[1:seg1] <- "s1" 

temp1$newcolumn[seg1:row] <- "s2" 
関連する問題