繁体   English   中英

如何根据 R 中某个列中的变量从 dataframe 中提取数据

[英]How to extract data from a dataframe based on a variable in a certain column in R

如果我有一个期权价格数据框,例如

mydata = read.csv("optionprices.csv")
print(mydata)

Symbol Price Volume
AAPL   100   20
AAPL   105   40
AMZN   300   30
AMZN   305   60

我怎样才能提取数据以创建另一个 mydata$Symbol == "AAPL" 的数据框? 所以我的新数据框是

Symbol Price Volume
AAPL   100   20
AAPL   105   40

您可以使用以下代码:

library(dplyr)

mydata %>% 
  filter(Symbol == "AAPL") -> df_new

df_new

  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40

或使用基础 R:

df_new <- subset(mydata, Symbol == "AAPL")
df_new

  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40

Anoushiravan 的回答很棒。

使用基础 r 的另一种方法: df[which(df$Symbol == "AAPL"),]

df <- data.frame(Symbol = c("AAPL","AAPL","AMZN","AMZN"), 
                 Price=c("100","105","300","305"),
                 Volume=c("20","40","30","60"))

> df 
  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40
3   AMZN   300     30
4   AMZN   305     60

new_df <- df[which(df$Symbol == "AAPL"),]

> new_df
  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM