标签: rep

生成系列1,2,1,3,2,1,4,3,2,1,5,4,3,2,1

我正在尝试生成一个包含增加的反向系列的向量,例如1,2,1,3,2,1,4,3,2,1,5,4,3,2,1.

我尝试使用循环,但我不知道如何堆叠或连接结果.

for (i in 1:11)
 {
 x = rev(seq(i:1))
 print(x) 
 }
[1] 1
[1] 2 1
[1] 3 2 1
[1] 4 3 2 1
[1] 5 4 3 2 1
[1] 6 5 4 3 2 1
[1] 7 6 5 4 3 2 1
[1] 8 7 6 5 4 3 2 1
[1] 9 8 7 6 5 4 3 2 1
[1] 10  9  8  7  6  5  4  3  2  1
[1] …
Run Code Online (Sandbox Code Playgroud)

r series seq rep

22
推荐指数
4
解决办法
2655
查看次数

创建数字序列的序列

我想通过使用rep或任何其他函数在 R 中创建以下序列。

c(1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5, 4, 5, 5)
Run Code Online (Sandbox Code Playgroud)

基本上,c(1:5, 2:5, 3:5, 4:5, 5:5)

math r vector sequence rep

21
推荐指数
3
解决办法
3761
查看次数

从R中的data.table列计算中位数

我试图计算多个列的中值,但我的数据有点时髦.它看起来像下面的例子.

library(data.table)

dt <- data.table("ID" = c(1,2,3,4),"none" = c(0,5,5,3), 
                 "ten" = c(3,2,5,4),"twenty" = c(0,2,3,1))


   ID none ten twenty
1:  1    0   3      0
2:  2    5   2      2
3:  3    5   5      3
4:  4    3   4      1
Run Code Online (Sandbox Code Playgroud)

在表中,列表示该值的出现次数.我想计算中位数.

例如,对于ID = 1

median(c(10, 10, 10))
Run Code Online (Sandbox Code Playgroud)

是我想要创建的计算.

对于ID = 2

median(c(0, 0, 0, 0, 0, 10, 10, 20, 20))
Run Code Online (Sandbox Code Playgroud)

我尝试过使用rep()lapply()取得了非常有限的成功,并且已经就如何实现这一目标提供了明确的指导.我理解为喜欢rep()我将不得不硬编码我的价值重复(例如rep(0,2)rep(10,2)),这是我所期望的.我正在努力创建一个包含每列重复的列表或向量.

r lapply rep data.table

14
推荐指数
3
解决办法
8913
查看次数

将数据帧整体复制n次

我试图复制一个数据帧(动物园对象)50次作为一个整体,并将结果作为一个矩阵,但我尝试过的所有命令似乎都不成功.我可以轻松编写一个可以执行此操作的函数,但我希望结果可以轻松实现rep.

以下面的例子为例

 x <- zoo(data.frame(A = c(1,2,3,4,5,6), B = c(7,8,9,10,11,12), C = c(13,14,15,16,17,18)), order.by = seq(as.Date("2012-01-01"), as.Date("2012-06-01"), by  = "month"))

 #> x
 #           A  B  C
 #2012-01-01 1  7 13
 #2012-02-01 2  8 14
 #2012-03-01 3  9 15
 #2012-04-01 4 10 16
 #2012-05-01 5 11 17
 #2012-06-01 6 12 18
Run Code Online (Sandbox Code Playgroud)

我们试着复制x2次.我要找的最终结果是:

 #      [,1] [,2] [,3]
 # [1,]    1    7   13
 # [2,]    2    8   14
 # [3,]    3    9   15
 # [4,]    4   10   16
 # …
Run Code Online (Sandbox Code Playgroud)

r dataframe rep

13
推荐指数
3
解决办法
9833
查看次数

如何从rep()函数返回的向量创建矩阵?

X = 1:20

[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

代表(X,2)

[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

视图(REP(X,2))

使用R中的rep()函数生成20乘2向量时出现问题

而不是创建两个列,每个列从1到20运行,当我在R工作区中查看数据时,它显示为40X1向量,即1-20 1-20.

如何使用rep()函数创建20X2的重复列向量?谢谢.

r vector matrix rep

11
推荐指数
1
解决办法
5万
查看次数

在函数中调用print(ls.str())会影响rep的行为

在空的环境中开始新的R会话.使用一个参数编写一系列函数,该参数将用作times调用中参数的值rep().

f <- function(n) {
  rep("hello", times = n)
}
f(x)
Run Code Online (Sandbox Code Playgroud)

人们期望这会失败,事实上会得到:

# Error in f(x) : object 'x' not found
Run Code Online (Sandbox Code Playgroud)

稍微修改一下这个功能:

f2 <- function(n) {
  ls.str()
  rep("hello", times = n)
}

f2(x)
Run Code Online (Sandbox Code Playgroud)

正如所料,它仍然失败:

# Error in f2(x) : object 'x' not found
Run Code Online (Sandbox Code Playgroud)

稍微修改一下(以查看控制台中的环境):

f3 <- function(n) {
  print(ls.str())
  rep("hello", times = n)
}

f3(x)
Run Code Online (Sandbox Code Playgroud)

我仍然期待失败,但反而得到:

## n : <missing>
## [1] "hello"
Run Code Online (Sandbox Code Playgroud)

这就好像将print()rep做的调用times设置为1一样.

r rep

10
推荐指数
2
解决办法
217
查看次数

两个数字的序列减少了其中一个的出现

我想从两个数字创建一个序列,这样一个数字的出现减少(从n_11到1),而另一个数字的出现被固定为n_2.

我一直在寻找并尝试使用seq和rep来做它,但我似乎无法弄明白.

下面是一个例子c(0,1)并且n_1=5,n_2=3:

0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,1
Run Code Online (Sandbox Code Playgroud)

而这里c(0,1)n_1=2,n_2=1:

0,0,1,0,1
Run Code Online (Sandbox Code Playgroud)

r sequence seq rep

8
推荐指数
1
解决办法
578
查看次数

R中的rep函数

当我表演时:

rep(1:4, rep(4,4))
Run Code Online (Sandbox Code Playgroud)

我明白了

1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 
Run Code Online (Sandbox Code Playgroud)

这是预料之中的.但是当我尝试将长度固定为16(这是输出的长度)时,如下所示:

rep(1:4, rep(4,4), length.out = 16)
Run Code Online (Sandbox Code Playgroud)

我明白了

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

这很奇怪.我认为这两个命令都应该执行相同的功能.有人可以帮忙吗?

谢谢!

r rep

6
推荐指数
1
解决办法
3万
查看次数

根据计算在数据框中插入行

我是R的新手,我正在尝试将Excel中完成的计算复制到R.
我有一个这样的数据框:

Component <- c("A", "B", "C")
Report_Time <- c(5781, 5781, 5781)
Interval <- c(700, 600, 800)
End_Time <- c(8281, 8281, 8281)
Start_Time <- c(800, 298, 780)
df <- data.frame(Component, Report_Time, Interval, End_Time, Start_Time)
Run Code Online (Sandbox Code Playgroud)

印刷时它看起来像这样:

# Component Report_Time Interval    End_Time    Start_Time
#1    A         5781        700         8281        800
#2    B         5781        600         8281        298
#3    C         5781        800         8281        780
Run Code Online (Sandbox Code Playgroud)

对于每个组件,我想填充计算列"Interval_Time",它是First的开始时间+ Report_Time的总和,然后如果它小于End_Time,则插入一个具有Interval_Time(Last sum)+ Interval之和的行.重复插入,直到Interval time中的和小于End_Time.

# Component Report_Time Interval    End_Time    Start_Time  Interval_Time
#1   A       5781       700             8281        800         6581
#2   A …
Run Code Online (Sandbox Code Playgroud)

r dataframe rep

5
推荐指数
1
解决办法
444
查看次数

如何在R中创建不同大小的空白向量

我有一个“大小”或“宽度”向量,如下所示:

x <- c(1, 4, 6, 10)
Run Code Online (Sandbox Code Playgroud)

我想创建另一个基于 的向量x,一个像这样的向量:

y <- c(" ", "    ", "      ", "          ")
Run Code Online (Sandbox Code Playgroud)

基本上有两个用于创建的输入y:空白空间" "和向量x

正如您所看到的,向量x定义了 中空格的长度y。我知道我可以从头开始创建一个函数,但我猜测 R 中是否存在某种函数或与reppaste0其他内置函数的组合。

任何想法?谢谢。

string whitespace r repeat rep

4
推荐指数
1
解决办法
565
查看次数

标签 统计

r ×10

rep ×10

dataframe ×2

seq ×2

sequence ×2

vector ×2

data.table ×1

lapply ×1

math ×1

matrix ×1

repeat ×1

series ×1

string ×1

whitespace ×1