R 如何将一个变量中的一半值分成两个变量?
我从一个txt文件中得到了一个数据列表,其中有一个变量。如何将后半部分的值放入变量2中 以下是一些数据 四, 0 0 0 3. 2. 0 0 6. 7. 6. 2. 1. 11 6. 1. 2. 1. 1. 2. 0 2. 2. 1. 0 12 8. 4. 5. 0 5. 4. 1. 0 8. 2. 5. 10 17 一, 我不知道为什么它看起来像这样,但它是txt文件中的一列R 如何将一个变量中的一半值分成两个变量?,r,R,我从一个txt文件中得到了一个数据列表,其中有一个变量。如何将后半部分的值放入变量2中 以下是一些数据 四, 0 0 0 3. 2. 0 0 6. 7. 6. 2. 1. 11 6. 1. 2. 1. 1. 2. 0 2. 2. 1. 0 12 8. 4. 5. 0 5. 4. 1. 0 8. 2. 5. 10 17 一, 我不知道为什么它看起来像这样,但它是txt文件中的一列 Vincent使用split例如: xx <- 1:10 split(1:10,rep(c('a','b'),e
Vincent使用
split
例如:
xx <- 1:10
split(1:10,rep(c('a','b'),each=length(xx)/2))
$a
[1] 1 2 3 4 5
$b
[1] 6 7 8 9 10
如果您有一个向量,则可以将向量运算与
长度一起使用
> x <- seq(1:20) # twenty values
> x[1:(length(x)/2)] # first ten values
## [1] 1 2 3 4 5 6 7 8 9 10
> x[-(1:(length(x)/2))] # second ten values
## [1] 11 12 13 14 15 16 17 18 19 20
> x <- data.frame(var1 = seq(1:20))
> y <- data.frame(var1 = x[1:(nrow(x)/2), ], var2 = x[-(1:(nrow(x)/2)), ])
> y
## var1 var2
## 1 1 11
## 2 2 12
## 3 3 13
## 4 4 14
## 5 5 15
## 6 6 16
## 7 7 17
## 8 8 18
## 9 9 19
## 10 10 20
非常感谢,但是我得到了类似$
1
[1]1 3 5 7 9$2
[1]2 4 6 8 10我应该从一开始就问,我是从这个>x开始的,那么你能在你原来的帖子中发布一些数据吗?现在还不太清楚数据是如何开始的。这正是我想要的,非常感谢。最后一件事,如果我想使用“tapply(variable1,variable2,mean)”来找出平均值,我该怎么办?因为它的结果是“tapply中的错误(variable1,variable2,mean):对象‘variable2’未找到”使用函数rowMeans
。我会把它加到答案上。不,我是说var1的平均值和var2的平均值
> x <- data.frame(var1 = seq(1:20))
> y <- data.frame(var1 = x[1:(nrow(x)/2), ], var2 = x[-(1:(nrow(x)/2)), ])
> y
## var1 var2
## 1 1 11
## 2 2 12
## 3 3 13
## 4 4 14
## 5 5 15
## 6 6 16
## 7 7 17
## 8 8 18
## 9 9 19
## 10 10 20