'col.names'在R中的'as.data.frame'中做了什么?

Vin*_*ent 8 r

我正在使用as.data.frame()函数将表转换为R中的数据帧,我想用函数设置列名.

我发现有一个可选的参数为as.data.frame(),col.names.

文档说它是列名的字符向量.但是,无论我放入什么col.names,结果都保持不变.

x = c('a','b','c','a')
x_table = table(x)
x_df = as.data.frame(x_table, col.names = c('name', 'freq'))
Run Code Online (Sandbox Code Playgroud)

这里的输出是:

    x Freq
1   a    2
2   b    1
3   c    1
Run Code Online (Sandbox Code Playgroud)

我知道colnames(df)在创建数据帧后我可以使用更改列名,但我真的很想知道为什么col.names在这里不起作用.

谢谢.

Mat*_*ett 6

如果您想避免在创建数据框后分配列名称,您可以使用函数dnn中的参数table来指定“名称”列,并使用函数responseName中的参数as.data.frame来指定“频率”列。

x <- c('a','b','c','a')
x_df <- as.data.frame(table(x, dnn = list("name")), responseName = "freq")
Run Code Online (Sandbox Code Playgroud)

  • 为什么 col.names 参数不起作用? (13认同)