2013-03-21 31 views
0
x<-rnorm(5000,5,3) 

如何将x分成500组,每组有10个数字?如何将向量拆分为R中的小组?

+0

如果拆分x转换成500组,你将不必在每5个号码。而且,你已经尝试过了什么? – juba 2013-03-21 11:15:26

+0

我很抱歉,这是十个不是五个。 – 2013-03-21 11:24:37

回答

4

回答#1:

x<-rnorm(5000,5,3) 
y<-matrix(nr=500,nc=10) 
y[]<-x 

回答#2: 跳过第一步,只是直接创建矩阵。

y<-matrix(rnorm(5000,5,3),nr=500,nc=10) 
+0

'y []'是什么意思,'[]'是空白的。 – 2013-03-21 11:31:09

+2

这确保我填充现有对象'y'的内容(在这种情况下是一个矩阵),而不是用'x'替换对象。如果您执行'y <-x'',则y变成'x'的副本。 – 2013-03-21 12:17:56

0

你是正在寻找这样的事情:

# create a vector of group labels 

group <- rep(sample(1:500,replace=F,size=500),10) 
group.name <- paste("group",as.character(group),sep=" ") 

# create a dataframe of groups and corresponding values 
df <- data.frame(group=group.name,value=rnorm(5000,5,3)) 

# check the dataframe 
str(df) 
'data.frame': 5000 obs. of 2 variables: 
$ group: Factor w/ 500 levels "group 1","group 10",..: 271 115 404 252 138 243 375 308 434 16 ... 
$ value: num 8.55 10.14 3.71 8.79 4.17 ... 

head(df) 
     group  value 
1 group 342 8.547406 
2 group 201 10.135465 
3 group 462 3.713305 
4 group 325 8.786934 
5 group 222 4.171373 
6 group 317 3.478123