将类型从 AsIs 更改为在 R 数据框中列出

问题描述 投票:0回答:2

我正在尝试在 R 中制作一个如下所示的数据框:

    group   numbers
1    1     [1,2,3,4,5]
2    2     [8,9,10,11]

我的做法如下:

group = c(1:2)
numbers = I(list((1:5),(8:11)))
df = data.frame(group,numbers)
class(df$numbers)

但是,当我得到

df$numbers
类时,我得到“AsIs”。这会导致以后出现问题,因为我在 SparkR 中使用它,而 Spark 无法处理“AsIs”类型。对于我的用例,我需要将类设置为“列表”,但是当我这样做时,它仍然不会更改类型。将组的类保持为“整数”会很有帮助,但我认为将其转换为整数仍然有效,如果它还不是整数的话。
是否有另一种方法可以避免 AsIs 的此问题并使数据框如图所示?

r dataframe sparkr
2个回答
2
投票
as.list()

数字:

unclass

或者不使用抑制剂功能
df$numbers <- unclass(df$numbers) df rank numbers 1 1 1, 2, 3, 4, 5 2 2 8, 9, 10, 11 str(df) 'data.frame': 2 obs. of 2 variables: $ rank : int 1 2 $ numbers:List of 2 ..$ : int 1 2 3 4 5 ..$ : int 8 9 10 11

:

I



0
投票
df <- data.frame(group = 1:2) df$numbers <- list((1:5),(8:11)) df group numbers 1 1 1, 2, 3, 4, 5 2 2 8, 9, 10, 11

最小可重现示例

我缺少的是选择列表:

AsIs

© www.soinside.com 2019 - 2024. All rights reserved.