В таблице в R, как я могу умножить все значения в строке на значение? - PullRequest
0 голосов
/ 20 июня 2019

Я создал следующую таблицу в R:

Table1 <- 
matrix(c(0.3,0.6,0.1,0.6,0.3,0.1,0.3,0.1,0.6),ncol=3,byrow=TRUE)
rownames(Table1)<-c("1st graders","6th graders", "11th graders")
colnames(Table1)<-c("Ice Cream","Fruit","French Fries")
Table1<-as.table(Table1)
Table1
               Ice Cream      Fruit        French Fries
1st graders        0.3         0.6          0.1
6th graders        0.6         0.3          0.1
11th graders       0.3         0.1          0.6

Теперь я хочу умножить все значения в строке 1 на число, значения в строке 2 на число и т. Д., Чтобы создать новую таблицус теми же строками / столбцами, но с обновленными значениями.

1 Ответ

2 голосов
/ 20 июня 2019

Вы можете использовать sweep

val <- c(0, 1, 10)
sweep(Table1, 1, val, "*")
#             Ice Cream Fruit French Fries
#1st graders        0.0   0.0          0.0
#6th graders        0.6   0.3          0.1
#11th graders       3.0   1.0          6.0

Сверху первая строка умножается на 0, вторая на 1, а третья на 10.

Как отмечено ниже в комментариях,

Table1 * val
#             Ice Cream Fruit French Fries
#1st graders        0.0   0.0          0.0
#6th graders        0.6   0.3          0.1
#11th graders       3.0   1.0          6.0

достигает того же результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...