我有几个长度不等的向量,我想要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) 我有一个带有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)