R:将数据帧中的变量除以列表或向量中的特定值

R:将数据帧中的变量除以列表或向量中的特定值,r,R,我是R的新手,请原谅我的无知 我有一个由两个变量组成的数据框架:位置和响应。我有另一个数据帧,它由每个位置的采样工作组成。我需要使用位置作为标识符,将响应除以采样努力。我知道可能有一个简单的解决办法,但我正在寻找它。我将感谢任何帮助 Example: Dataframe 1 Location Response Loc1 25 Loc2 63 Loc3 5.63 Dataframe2 Location Sampling effort Loc1 2

我是R的新手,请原谅我的无知

我有一个由两个变量组成的数据框架:位置和响应。我有另一个数据帧,它由每个位置的采样工作组成。我需要使用位置作为标识符,将响应除以采样努力。我知道可能有一个简单的解决办法,但我正在寻找它。我将感谢任何帮助

Example:
Dataframe 1

Location Response

Loc1     25

Loc2     63

Loc3     5.63


Dataframe2

Location Sampling effort

Loc1     2

Loc2     6.5

Loc3     3

您可以使用
merge()
合并它们,然后只需划分两列:

df3 <- merge(df1, df2)
df3$solution <- df3$Response / df3$Sampling_effort
df3
 # Location Response Sampling_effort  solution
 # 1   Loc1    25.00          2.0    12.500000
 # 2   Loc2    63.00          6.5     9.692308
 # 3   Loc3     5.63          3.0     1.876667

df3您可以使用
merge()
合并它们,然后只需划分两列:

df3 <- merge(df1, df2)
df3$solution <- df3$Response / df3$Sampling_effort
df3
 # Location Response Sampling_effort  solution
 # 1   Loc1    25.00          2.0    12.500000
 # 2   Loc2    63.00          6.5     9.692308
 # 3   Loc3     5.63          3.0     1.876667

df3由于您的数据帧遵循相同的顺序,因此应该足以执行以下操作

df1[,2]/df2[,2]

因为您的数据帧遵循相同的顺序,所以应该足够了

df1[,2]/df2[,2]

一种
dplyr
/
tidyverse
方法:

用于复制数据帧的代码
关于在R中操作数据,有很多很好的介绍,但我们确实发现datacamp one很有用——尽管它不再是免费的了。

A
dplyr
/
tidyverse
方法:

用于复制数据帧的代码 有很多关于在R中操作数据的好介绍,但我们确实发现datacamp one很有用——尽管它不再是免费的了

df1 <- 
    read.table(text = "Location Response
                        Loc1     25
                        Loc2     63
                        Loc3     5.63
                      ", header = TRUE, stringsAsFactors = FALSE)
df2 <- 
    read.table(text = "Location  Sampling_effort
                        Loc1     2
                        Loc2     6.5
                        Loc3     3
                      ", header = TRUE, stringsAsFactors = FALSE)
library(dplyr)
df_joined <- 
    df1 %>% 
    left_join(df2) %>% 
    mutate(Effect_size = Response / Sampling_effort)
> df_joined
  Location Response Sampling_effort Effect_size
1     Loc1    25.00             2.0   12.500000
2     Loc2    63.00             6.5    9.692308
3     Loc3     5.63             3.0    1.876667