У меня есть два фрейма данных df1 и df2, и они хранятся в списке:
$df1
column 1. column 2. column 3
A a6 1
B j7 2
C i0 3
D b2 4
$df2
column 1. column 2. column 3
E 8h 1
F 4d 2
G 3n 3
H a9 4
I 5% 5
L *9. 6
Фреймы данных имеют разные номера строк и хранятся в list1 list1 <- (df1, df2) </p>
Я хотел бы разделить последний номер столбца 3, который представляет ранг, на общее количество строк (разделить каждое значение): информация о номере строки хранится в векторе и отличается от номеров строк этих двухфреймы данных, потому что они являются подмножеством большего фрейма данных с большим количеством строк: vec <-c (10,20) </p>
Вывод:
$df1
$df1 nrow = 4
#df1_ALL nrow = 10
column 1. column 2. column 3
A a6 1/10
B j7 2/10
C i0 3/10
D b2 4/10
$df2
$df2 nrow=6
$df2_ALL nrow = 20
column 1. column 2. column 3
E 8h 1/20
F 4d 2/20
G 3n 3/20
H a9 4/20
I 5% 5/20
L *9. 6/20
Я написал что-то вроде этого:
list2<-list()
for (i in 1: length(list1)) {
+ list2[[i]]<- sweep(list1[[i]]$column3, 1,vec,'/')
+ }
однако выдает мне следующую ошибку:
Error in array(STATS, dims[perm]) : 'dims' cannot be of length 0
In addition: Warning message:
In sweep(myfiles[[i]]$rank, 1, g1, "/") :
STATS is longer than the extent of 'dim(x)[MARGIN]'
Любая помощь, это было бы здорово, ура