如何在R中的矩阵中删除行名和列名

时间:2018-11-15 17:43:05

标签: r

我的输出为

       VAR FREQ
  1     A   2 
  2     R   3
  3     B   4

我想将结果显示为

        A  2
        R  3
        B  4

这意味着我要删除列名和序列号

我正在使用的查询是

data.frame(sort(table(substr(read.csv('extra/name.csv')$value, 1, 1)),decreasing =TRUE))

请提供一些帮助

2 个答案:

答案 0 :(得分:2)

我们可以将dimnames设置为NULL,假设它是帖子中提到的matrix

dimnames(m1) <- NULL

如果我们需要print,可以用cat完成,如@Gregor所示

d1 <- as.data.frame(m1)
cat(do.call(paste, c(d1, collapse='\n')), '\n')
#A 2
#R 3
#B 4 

数据

m1 <- structure(c("A", "R", "B", "2", "3", "4"), .Dim = 3:2, .Dimnames = list(
c("1", "2", "3"), c("VAR", "FREQ")))

答案 1 :(得分:2)

cat可用于将结果打印到控制台,而无需print添加细节。

dd = read.table(text = "      VAR FREQ
  1     A   2 
  2     R   3
  3     B   4", header = T, stringsAsFactors = FALSE)

dd
#   VAR FREQ
# 1   A    2
# 2   R    3
# 3   B    4

for(i in 1:nrow(dd)) cat(unlist(dd[i, ]), "\n")
# A 2 
# R 3 
# B 4 

请注意,如果您的数据包含factor,则需要将其转换为character才能进行打印。无法保证其他类的列将如何打印(例如Date类)。您还将失去print自动完成的调整和舍入。