簡體   English   中英

從data.frame中提取行

[英]Extracting rows from a data.frame

我有一個by m data.frame ,其中第1列具有感興趣的信息。 我想基於第1列的行中的值創建sub data.frame

例:

P Cat  Q    S... nth Column
S data data data data 
S ...       ...       
A ...
I ...
. ...
. ...
. ...
mth row

現在我要做的是創建一個data.frame ,其中列P的值為S,然后為A ...等。

我一直沒有嘗試過類似的事情:

s <- data.frame(df1$P = S)
s <- data.frame(df1$P [,:5]) <- #In this case the data I want stops at row 5

我想以類似

s = P Data1 Data2 Data3 Data nth
    S
    S
    ...
    S

謝謝

使用split將數據分為data.frames list也可以在這里工作,並防止工作區混亂。 例如:

df1 <- data.frame(P=c("S","S","A","I"),data=rep(1,4))
df1

#  P data
#1 S    1
#2 S    1
#3 A    1
#4 I    1

result <- split(df1,df1$P)

#$A
#  P data
#3 A    1
#
#$I
#  P data
#4 I    1
#
#$S
#  P data
#1 S    1
#2 S    1

然后,您可以訪問列表的各個部分,例如:

result$S

要么

result[["S"]]

瞧:

#  P data
#1 S    1
#2 S    1

代替 :

s <- data.frame(df1$P = S)

嘗試:

s <- data.frame(df1[df1$P == S,])

要么

s <- data.frame(df1[df1$P == 'S',])

如果要控制行數,請嘗試:

s <- data.frame(df1[df1$P == 'S',1:5])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM