繁体   English   中英

如何在 R 中制作向量的向量

[英]How Can I Make A Vector of Vectors in R

我有一个简单的案例,我用一组这样的向量创建了一个数据框。

df1 = tibble(
  seed = rep(c(289805, 671086, 799837), 4),
  sd = rep(c(1, 3, 5, 10), each=3),
  ar = rep(c(.8, .9, .95), 4)
)
df1

# A tibble: 12 x 3
     #seed    sd    ar
    #<dbl> <dbl> <dbl>
 #1 289805     1  0.8 
 # 2 671086     1  0.9 
 # 3 799837     1  0.95
 # 4 289805     3  0.8 
 # 5 671086     3  0.9 
 # 6 799837     3  0.95
 # 7 289805     5  0.8 
 # 8 671086     5  0.9 
 # 9 799837     5  0.95
 #10 289805    10  0.8 
 #11 671086    10  0.9 
 #12 799837    10  0.95

我想要一个ar列像这样的情况

df2 = tibble(
  seed = rep(c(289805, 671086, 799837), 4),
  sd = rep(c(1, 3, 5, 10), each=3),
  ar = rep(c(c(0.4, 0.4), c(0.45, 0.45), c(0.35, 0.6)), 4)
)
df2

我在哪里会有这样的事情。

# A tibble: 12 x 3
     #seed    sd    ar
    #<dbl> <dbl> <dbl>
 #1 289805     1  (0.4, 0.4) 
 # 2 671086     1  (0.45, 0.45) 
 # 3 799837     1  (0.35, 0.6)
 # 4 289805     3  (0.4, 0.4) 
 # 5 671086     3  (0.45, 0.45) 
 # 6 799837     3  (0.35, 0.6)
 # 7 289805     5  (0.4, 0.4) 
 # 8 671086     5  (0.45, 0.45) 
 # 9 799837     5  (0.35, 0.6)
 #10 289805    10  (0.4, 0.4) 
 #11 671086    10  (0.45, 0.45) 
 #12 799837    10  (0.35, 0.6)

相反,我收到了此错误消息“错误:Tibble 列必须具有兼容的大小。

  • 大小 12:现有数据。
  • 大小 24:列ar .`

这个问题是这个答案后续问题

你的方法就差不多了,只需使用一个列表:

df1$ar <- rep(list(c(0.4, 0.4), c(0.45, 0.45), c(0.35, 0.6)), 4)

df1
     seed sd         ar
1  289805  1   0.4, 0.4
2  671086  1 0.45, 0.45
3  799837  1 0.35, 0.60
4  289805  3   0.4, 0.4
5  671086  3 0.45, 0.45
6  799837  3 0.35, 0.60
7  289805  5   0.4, 0.4
8  671086  5 0.45, 0.45
9  799837  5 0.35, 0.60
10 289805 10   0.4, 0.4
11 671086 10 0.45, 0.45
12 799837 10 0.35, 0.60

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM