如何基于R中某列中的变量从数据帧中提取数据

如何基于R中某列中的变量从数据帧中提取数据,r,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

如果我有期权价格的数据框架,例如

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
或使用base R:

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

  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40

df_new您可以使用以下代码:

library(dplyr)

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

df_new

  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40
或使用base R:

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

  Symbol Price Volume
1   AAPL   100     20
2   AAPL   105     40

df_newAnoushiravan的回答很好

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

df
符号价格卷
1 AAPL 100 20
2 AAPL 105 40
3 AMZN 300 30
4 AMZN 305 60
新的
符号价格卷
1 AAPL 100 20
2 AAPL 105 40

Anoushiravan的回答很好

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

df
符号价格卷
1 AAPL 100 20
2 AAPL 105 40
3 AMZN 300 30
4 AMZN 305 60
新的
符号价格卷
1 AAPL 100 20
2 AAPL 105 40

干得好!你的也很好。除非列中有NA,否则逻辑子集不需要
函数。谢谢Anoushiravan!:是的,马西米兰,这是真的。我认为用<代码> > <代码>这是一个很好的实践,尽管也可以说检查NA的第一个是好的实践…¯_(ツ)_/谢谢你的帮助LabyRATHOKE!做得好!你的也很好。除非你有Na在列中的< <代码> > 函数不是逻辑子集所必需的。谢谢AouthiavaN!染料,马希米莲,这是真的。我认为用<代码> > <代码>这是一个好的实践,尽管也可以说这是一个很好的实践。检查NA的第一个…'_(ツ)_/谢谢你的帮助,拉特小子!太棒了,这很有魅力。谢谢你,阿努什拉万!太棒了,这很有魅力。谢谢你,阿努什拉万!