相关疑难解决方法(0)

组合不同长度的(cbind)向量

我有几个长度不等的向量,我想要cbind他们.我把矢量放到一个列表中,我试图结合使用do.call(cbind, ...):

nm <- list(1:8, 3:8, 1:5)
do.call(cbind, nm)

#      [,1] [,2] [,3]
# [1,]    1    3    1
# [2,]    2    4    2
# [3,]    3    5    3
# [4,]    4    6    4
# [5,]    5    7    5
# [6,]    6    8    1
# [7,]    7    3    2
# [8,]    8    4    3
# Warning message:
#   In (function (..., deparse.level = 1)  :
#         number of rows of result is not a multiple of vector …
Run Code Online (Sandbox Code Playgroud)

merge r list matrix

30
推荐指数
2
解决办法
4万
查看次数

将列表列中的值分配到单独的列

我有一个带有list列“ c” 的data.table :

df <- data.table(a = 1:3, c = list(1L, 1:2, 1:3))
df
   a     c
1: 1     1
2: 2   1,2
3: 3 1,2,3
Run Code Online (Sandbox Code Playgroud)

我想为“ c”中的值创建单独的列。

我创建了一组新列F_1,F_2,F_3:

mmax <- max(df$a)
flux <- paste("F", 1:mmax, sep = "_")
df[, (flux) := 0]

df
   a     c F_1 F_2 F_3
1: 1     1   0   0   0
2: 2   1,2   0   0   0
3: 3 1,2,3   0   0   0
Run Code Online (Sandbox Code Playgroud)

我想像这样将“ c”中的值分派到列F_1,F_2,F_3:

df

   a     c F_1 F_2 F_3
1: 1     1 …
Run Code Online (Sandbox Code Playgroud)

r list data.table

7
推荐指数
1
解决办法
171
查看次数

标签 统计

list ×2

r ×2

data.table ×1

matrix ×1

merge ×1