2

私は今、この問題に何時間も直面していますが、明らかな何かが欠けていることはわかっています。

これが私の問題です:

ここからダウンロードできる.xlsxファイルにデータフレームがあります。

MAc で RStudio を使用して、このデータ フレームを R にロードし、demoData と呼びました。5 つの変数 (AgeRange、Women、Men、Total、Year) があります。

このデータ フレームを AgeRange の条件でサブセット化できません。この変数の形式は次のとおりです: xx-xx (00-04 は 00 歳から 04 歳までの人を意味します)。これを行おうとすると、この条件を満たす行がないというメッセージが表示されます。変数「AgeRange」のクラスは factor です。

これが私のコードです:

demoData[demoData$AgeRange=="00-04",]

ご協力ありがとうございました。

編集:アルンから。からの入力は次のhead(demoData)とおりです。

     Age Feminin Masculin. Ensemble Annee
1 00-04     720       745     1465  2004 
2 05-09     745       767     1512  2004 
3 10-14     813       830     1643  2004 
4 15-19     824       820     1644  2004 
5 20-24     839       823     1662  2004 
6 25-29     752       699     1450  2004 

# str(demoData)
'data.frame':   272 obs. of  5 variables:
 $ Age      : Factor w/ 16 levels "00-04 ","05-09 ",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Feminin  : Factor w/ 216 levels "138 ","139 ",..: 112 124 164 165 174 130 106 86 78 66 ...
 $ Masculin.: Factor w/ 201 levels "120 ","122 ",..: 132 141 174 169 170 124 111 89 90 75 ...
 $ Ensemble : Factor w/ 242 levels "1041 ","1044 ",..: 53 66 115 116 119 50 38 14 9 238 ...
 $ Annee    : Factor w/ 17 levels "2004 ","2005",..: 1 1 1 1 1 1 1 1 1 1 ...
4

2 に答える 2

1

あなたの xlsx ファイルを xlsx パッケージで読み込みました:

df<-read.xlsx("C:/Users/swatson1/Downloads/Evolution_Population_2004_2020.xlsx",1)

そして、それは次のように見えました:

> df
        Age Feminin MasculinÂ. Ensemble  Annee
1   00-04Â    720Â       745Â    1465Â  2004Â 
2   05-09Â    745Â       767Â    1512Â  2004Â 

余分な文字を次のように削除して、各列を置き換えることができます。

df$Age<-substr(df$Age,1,5)

または、これを使用するgsubと、エントリの長さに関係なく、任意の列で機能します。

df$Age<-gsub("Â\\s","",df$Age)

次に、コードが機能します。

df[df$Age=="00-04",]
于 2013-03-21T14:21:59.507 に答える
0
#coppied from the Excel file 
str1 <- "00-04 "
utf8ToInt(str1)
#[1]  48  48  45  48  52 160

文字列の最後にノーブレーク スペースがあるようです。ファイルをサニタイズします。

を使用して改行なしスペースを削除できるはずです

df$Age <- gsub(intToUtf8(160),"",df$Age)
于 2013-03-21T14:23:11.503 に答える