2017-06-16 48 views
0

所以我正在处理这个数据集,这是一个csv文件。 MYDATA = 名学校total_consumption 冲压ABC 15 RAM1 ABCD 16 RAM2 ABCDE 17 RAM3 ABCDEF 18 RAM4 ACB 19 ram5 acbe 20分配值到行

现在我想整个数据以降序进行排序,然后分配段如s1,s2等。用户输入段号作为输入。假设用户输入2将有2段。现在总的行没有将除以2,然后上半年将段1和第二半将段2

段VAL = 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

有没有示例数据,我可以用来做你在做什么。问题没有明确定义。你的代码有错误。例如。订单统计应该有数据$ total_consumption而不是数据$ fy_vol。 – 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"