use*_*363 47 r names dataframe
转换数据帧后,我想根据现有行为列分配头/名称.我的标题目前是:
row.names X2 X3 X4 X5 X6 X7 X8 X9 ...
Run Code Online (Sandbox Code Playgroud)
我想摆脱它并使用以下行作为列标题(因为我有很多,所以不必输入它们).
我唯一的解决方案是导出和重新加载数据(header = T).
小智 64
这里的关键是首先取消行.
colnames(DF) <- as.character(unlist(DF[1,]))
DF = DF[-1, ]
Run Code Online (Sandbox Code Playgroud)
Ric*_*mos 56
试试这个:
colnames(DF) = DF[1, ] # the first row will be the header
DF = DF[-1, ] # removing the first row.
Run Code Online (Sandbox Code Playgroud)
但是,请查看数据是否已正确读取.如果data.frame有数字变量但第一行是字符,则所有数据都被读作字符.为避免此问题,最好保存数据并按照建议使用header = TRUE再次读取.
janitor最干净的方法是使用专门为此目的而构建的包的函数。
janitor::row_to_names(DF,1)
Run Code Online (Sandbox Code Playgroud)
如果您想使用第一行以外的任何其他行,请将其传递到第二个参数中。