Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能在R中的data.frame中删除row.names?_R_Rows_Names - Fatal编程技术网

为什么我不能在R中的data.frame中删除row.names?

为什么我不能在R中的data.frame中删除row.names?,r,rows,names,R,Rows,Names,这个问题快把我逼疯了。我从write.table函数存储的.text文件中读取,其中显式指定了row.names=F。我打开保存文件并进行检查;是的,没有行名称。然后我使用read.table读取数据。将显示行名称 我尝试了以下四种方法来删除row.names,但都不起作用 trainval = read.table(file="processed_trainval.txt", header=T, row.names=NULL) rownames(trainval) = NULL row.nam

这个问题快把我逼疯了。我从write.table函数存储的.text文件中读取,其中显式指定了row.names=F。我打开保存文件并进行检查;是的,没有行名称。然后我使用read.table读取数据。将显示行名称

我尝试了以下四种方法来删除row.names,但都不起作用

trainval = read.table(file="processed_trainval.txt", header=T, row.names=NULL)
rownames(trainval) = NULL
row.names(trainval) = NULL
trainval = data.frame(trainval, row.names=NULL)
每次我使用

length(row.names(trainval))

为了检查,它给出了data.frame中的行数。我做错了什么?

请包括一些数据。行名称到底是什么?默认情况下,如果没有行名称,rownames或row.names将返回数据帧行数的索引。执行row.names(trainval)并检查输出。最后一个“rowname”应与nrow(trainval)匹配。“rowname”在引号中,因为它将是一个字符。非常感谢infominer。我知道问题出在哪里:我不应该使用length(row.names(trainval))来检查rownames是否存在。即使它们不是,R也只会添加行索引,看起来它有行名。愚蠢的错误!数据帧有行名。这是课堂的一部分。如果您只需要列表,那么只需使用“list”,或者定义另一个类并创建要处理的函数。。