小编Rus*_*oua的帖子

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

我有一个带有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
查看次数

标签 统计

data.table ×1

list ×1

r ×1