[英]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.