从数据框和csv输出中排除列0(rownames)列

时间:2015-12-11 15:16:07

标签: r csv dataframe write.table

全部发生,

如何从数据框或csv输出中排除零列或rownames列?

df <- df[,c(1,2,3,4,5]
drops <- c(0)
df <- df[,!(names(df) %in% drops)]
write.csv(df,'Forecast Values.csv')

我尝试了上述内容,但是rownames列仍然会延伸到&#34; df&#34;和csv文件,我特别希望它被排除在csv之外。另外值得注意的是,变量&#39; drop&#39;读取值为零,而不是列零。

2 个答案:

答案 0 :(得分:1)

您可以通过简单地将它们设置为空来删除rownames的{​​{1}}。它们默认为null(请参阅dataframe),但有时它们会被各种函数设置:

?data.frame

请注意,# Create a sample dataframe with row.names a_data_frame <- data.frame(letters = c("a", "b", "c"), numbers = c(1, 2, 3), row.names = c("Row1", "Row2", "Row3")); # View it a_data_frame; > letters numbers >Row1 a 1 >Row2 b 2 >Row3 c 3 # Use rownames() to set them to new value, which is null in this case rownames(a_data_frame) <- NULL; # View it again a_data_frame; > letters numbers >1 a 1 >2 b 2 >3 c 3 NULL在打印时会显示为增量计数,但在rownames a_data_frame对象中不再存在,因此在由{{}}等其他函数处理时{1}},您看到的任何data frame都是由函数创建的,而不是从write.csv对象本身获取的。

如上一张海报所述(请参阅rownames),您可以在data frame命令中指定?write.csv

答案 1 :(得分:0)

您可以将行设置为 NULL ,如下所示: row.names(df) <- NULL

如果愿意,还可以重命名行: row.names(df) <- c("row_1","row_2", etc...)

由于存在相同的问题,因此对此进行了评论。问题不应该仅仅因为是初学者而被否决-我是R新手,类似这样的问题可以帮助我学习绳子。我们都从某个地方开始!