gpt4 book ai didi

r - 将不同数据帧的行中的每个值除以向量中存储的值

转载 作者:行者123 更新时间:2023-12-04 09:58:01 24 4
gpt4 key购买 nike

我有两个数据框 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中列表 1<-(df1,df2)

我想将代表排名的最后一列数字 3 除以总行数(除以每个值):行号信息存储在一个向量中,它与这两个数据帧的行号不同,因为它们是具有更多行的更大数据帧的子集:向量<-c(10,20)

输出:

$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]'

任何帮助都会很棒,干杯

最佳答案

我们遍历数据集的 list,使用 Maptransform 将最后一列除以该数据集存储的行数在 vector ('vec')

Map(function(x, y) transform(x, `column 3` = `column 3`/y), list1, vec)

关于r - 将不同数据帧的行中的每个值除以向量中存储的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com