我正在使用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在这里不起作用.
谢谢.
如果您想避免在创建数据框后分配列名称,您可以使用函数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)