gpt4 book ai didi

r - 从 Excel 过渡到 R : how to implement if statement and index logic in R?

转载 作者:行者123 更新时间:2023-12-04 21:12:29 25 4
gpt4 key购买 nike

正如标题所描述的,我正在从 Excel 过渡到 R,但我发现在 Excel 中实现非常棘手的数据操作仍然比在 R 中更直观。

我有两个数据框:

A <- read.table(text="Var1  Var2    Var3    Var4
1 0 2 0
3 4 0 0
0 6 0 7", header=T)
B <- read.table(text="VarA VarB
2.24 1.82
3.07 2.97
6.5 7.46", header=T)

我想从 A 和 B 创建第三个数据框,如下所示:
Result <- read.table(text="Result1  Result2 Result3 Result4
2.24 NA 1.82 NA
3.07 2.97 NA NA
NA 6.5 NA 7.46", header=T)

因此,如果行中的元素 r和列 c数据框 A <> 0,然后在行 r和列 c数据框 Results按顺序放置第 r 行中的元素数据框 B .

在 Excel 中,我会使用如下公式:
enter image description here

最佳答案

由于matrix对象按列填充,而不是按行填充,您必须做一些 t ransposition 以确保它们以正确的顺序填写:

replace(replace(A,TRUE,NA), which(t(A)!=0,arr.ind=TRUE)[,2:1], t(B) )

# Var1 Var2 Var3 Var4
#[1,] 2.24 NA 1.82 NA
#[2,] 3.07 2.97 NA NA
#[3,] NA 6.50 NA 7.46

关于r - 从 Excel 过渡到 R : how to implement if statement and index logic in R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38626084/

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