R 如何将数据帧的正元素除以特定的数据帧列,将负元素除以另一列?
如何将数据帧行的正值除以一个特定列,将同一数据帧行的负值除以另一个特定列 我需要将第一行的所有值除以“资产”列,因为它们都是正数 在第二行,所有值都需要被“资产”列分割,但与列“行”关联的值除外,因为它是行中唯一的负值R 如何将数据帧的正元素除以特定的数据帧列,将负元素除以另一列?,r,dataframe,R,Dataframe,如何将数据帧行的正值除以一个特定列,将同一数据帧行的负值除以另一个特定列 我需要将第一行的所有值除以“资产”列,因为它们都是正数 在第二行,所有值都需要被“资产”列分割,但与列“行”关联的值除外,因为它是行中唯一的负值 有什么建议吗?假设数据帧是df。然后,应按照您的要求执行以下操作: apply(df, FUN=function(x) ifelse(x > 0, x / df$Assets, x / df$Whatever), MARGIN=2) 它迭代所有列(apply中的MARG
有什么建议吗?假设数据帧是
df
。然后,应按照您的要求执行以下操作:
apply(df, FUN=function(x) ifelse(x > 0, x / df$Assets, x / df$Whatever), MARGIN=2)
它迭代所有列(apply
中的MARGIN=2
),并将给定函数应用于所有列。在每一列中,正值分录除以资产
列中的相应值,非正值分录除以任意
列中的相应值
例如:
> df <- data.frame(Profit=c(1000,-1000,2000,-2000),
Assets=c(1,2,3,4), Whatever=c(-10,-20,-30,-40))
> df
Profit Assets Whatever
1 1000 1 -10
2 -1000 2 -20
3 2000 3 -30
4 -2000 4 -40
> apply(df, FUN=function(x) ifelse (x > 0, x / df$Assets,
x / df$Whatever), MARGIN=2)
Profit Assets Whatever
[1,] 1000.0000 1 1
[2,] 50.0000 1 1
[3,] 666.6667 1 1
[4,] 50.0000 1 1
>测向
利润资产
1 1000 1 -10
2 -1000 2 -20
3 2000 3 -30
4 -2000 4 -40
>应用(df,FUN=函数(x)ifelse(x>0,x/df$资产,
x/df$任意值),保证金=2)
利润资产
[1,] 1000.0000 1 1
[2,] 50.0000 1 1
[3,] 666.6667 1 1
[4,] 50.0000 1 1
假设数据帧是df
。然后,应按照您的要求执行以下操作:
apply(df, FUN=function(x) ifelse(x > 0, x / df$Assets, x / df$Whatever), MARGIN=2)
它迭代所有列(apply
中的MARGIN=2
),并将给定函数应用于所有列。在每一列中,正值分录除以资产
列中的相应值,非正值分录除以任意
列中的相应值
例如:
> df <- data.frame(Profit=c(1000,-1000,2000,-2000),
Assets=c(1,2,3,4), Whatever=c(-10,-20,-30,-40))
> df
Profit Assets Whatever
1 1000 1 -10
2 -1000 2 -20
3 2000 3 -30
4 -2000 4 -40
> apply(df, FUN=function(x) ifelse (x > 0, x / df$Assets,
x / df$Whatever), MARGIN=2)
Profit Assets Whatever
[1,] 1000.0000 1 1
[2,] 50.0000 1 1
[3,] 666.6667 1 1
[4,] 50.0000 1 1
>测向
利润资产
1 1000 1 -10
2 -1000 2 -20
3 2000 3 -30
4 -2000 4 -40
>应用(df,FUN=函数(x)ifelse(x>0,x/df$资产,
x/df$任意值),保证金=2)
利润资产
[1,] 1000.0000 1 1
[2,] 50.0000 1 1
[3,] 666.6667 1 1
[4,] 50.0000 1 1
请查看并更新您的问题请查看并更新您的问题