本文介绍了通过分配字符串向量使用列名创建空数据框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 创建一个空数据框: y 分配x ,一个字符串向量,以y作为其列名: x<-c( 姓名,年龄,性别)姓氏(y)<-x 结果: `colnames< -`(`* tmp *`,value = c( name , age, gender)):'names'属性[3]的长度必须与向量[0] 实际上,x的长度是动态的,所以 y 这不是命名列的有效方法。我该如何解决这个问题? 解决方案 df<-data.frame(matrix(ncol = 3,nrow = 0))x<-c( name, age, gender) colnames(df) <-x 要在单线 setNames(data.frame(matrix(ncol = 3,nrow = 0)),c( name ,年龄,性别)) #[1]姓名年龄性别#< 0行> (或长度为0的row.names) Or data.frame(matrix(ncol = 3,nrow = 0,dimnames = list(NULL,c( name, age, gender)))) Create an empty data frame:y <- data.frame()Assign x, a string vector, to y as its column names: x <- c("name", "age", "gender") colnames(y) <- xResult:Error in `colnames<-`(`*tmp*`, value = c("name", "age", "gender")) : 'names' attribute [3] must be the same length as the vector [0]Actually, the x length is dynamic, so y <- data.frame(name=character(), age=numeric(), gender=logical())is not an efficient way to name the column. How can I solve the problem? 解决方案 How about, df <- data.frame(matrix(ncol = 3, nrow = 0))x <- c("name", "age", "gender")colnames(df) <- xTo do all this operations in one-linersetNames(data.frame(matrix(ncol = 3, nrow = 0)), c("name", "age", "gender"))#[1] name age gender#<0 rows> (or 0-length row.names)Ordata.frame(matrix(ncol=3,nrow=0, dimnames=list(NULL, c("name", "age", "gender")))) 这篇关于通过分配字符串向量使用列名创建空数据框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-29 19:58