将所有值除以R studio

时间:2017-11-15 11:04:47

标签: r

我在R studio工作,我有一个数据集,如: (字母代表列名称)

 a b c d e f 
 0 1 3 1 0 1 
 3 1 0 4 1 2
 0 1 0 0 3 4

我想将所有值除以与其列对应的f值。这意味着第一行中的每个值都必须除以1,第二行中的每个值除以2,第三行中的每个值除以4。

我试过这样:

#divide every number through sum variable of their row
my_matched_matrix = as.matrix(my_matched)

#making a vector out of sum row
avector <- as.vector(my_matched['sum'])

#sweep
sweeped <- sweep(mat,avector, `/`)

它给了我这个错误:

Error in dims[MARGIN] : invalid subscript type 'list'

有没有人知道是否有其他方式可以获得我想要的地方?

1 个答案:

答案 0 :(得分:1)

这是你要找的吗?

df <- read.table(text = "a b c d e f 
                         0 1 3 1 0 1 
                         3 1 0 4 1 2
                         0 1 0 0 3 4",
                 header = TRUE, stringsAsFactors = FALSE

df / df$f

返回:

    a    b c d    e f
1 0.0 1.00 3 1 0.00 1
2 1.5 0.50 0 2 0.50 1
3 0.0 0.25 0 0 0.75 1

如果你想要打印得更好一点,你可以这样做:

x <- df / df$f

format(x, nsmall = 2)

     a    b    c    d    e    f
1 0.00 1.00 3.00 1.00 0.00 1.00
2 1.50 0.50 0.00 2.00 0.50 1.00
3 0.00 0.25 0.00 0.00 0.75 1.00
相关问题