地狱所有,
如何从数据框或 csv 输出中排除零列或行名列?
df <- df[,c(1,2,3,4,5]
drops <- c(0)
df <- df[,!(names(df) %in% drops)]
write.csv(df,'Forecast Values.csv')
我尝试了上述方法,但 rownames 列仍然保留到“df”和 csv 文件中,我特别希望将其排除在 csv 中。另外值得注意的是,变量“drops”读取为零值,而不是列零。
地狱所有,
如何从数据框或 csv 输出中排除零列或行名列?
df <- df[,c(1,2,3,4,5]
drops <- c(0)
df <- df[,!(names(df) %in% drops)]
write.csv(df,'Forecast Values.csv')
我尝试了上述方法,但 rownames 列仍然保留到“df”和 csv 文件中,我特别希望将其排除在 csv 中。另外值得注意的是,变量“drops”读取为零值,而不是列零。
您可以通过简单地将它们设置为 null来删除rownames
a 。dataframe
它们默认为 null(请参阅 参考资料?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
data frame
对象中,因此当由另一个函数(如 )处理时,您看到的write.csv
任何rownames
内容都是由函数创建的,而不是从data frame
对象本身获取的。
如上一张海报所述(请参阅 参考资料?write.csv
),您可以row.names=FALSE
在write.csv
命令中指定。
您可以像这样将行设置为NULL:
row.names(df) <- NULL
如果您愿意,还可以重命名行:
row.names(df) <- c("row_1","row_2", etc...)