3

data.frame列1に関心のある情報があるby mがあります。data.frame列 1 の行の値に基づいてsub を作成したいと思います。

例:

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

ありがとうございました

4

2 に答える 2

1

データを分割してlist使用data.framesするsplitこともここで機能し、ワークスペースが乱雑になるのを防ぎます。例えば:

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
于 2013-03-21T20:25:29.027 に答える
0

それ以外の :

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])
于 2013-03-21T18:20:18.007 に答える