【发布时间】:2013-03-21 13:56:43
【问题描述】:
我现在面临这个问题好几个小时了,但我知道我遗漏了一些明显的东西。
这是我的问题:
我在 .xlsx 文件中有一个数据框,可以下载here。
我在 MAC 上使用 RStudio 将此数据帧加载到 R 中,并将其命名为 demoData。 有 5 个变量(AgeRange、Women、Men、Total 和 Year)。
我无法使用 AgeRange 上的条件对该数据框进行子集化。该变量的格式如下:xx-xx(00-04 表示 00 到 04 岁之间的人)。当我尝试这样做时,我得到的消息是没有行满足这个条件。 变量“AgeRange”的类是因子。
这是我的代码:
demoData[demoData$AgeRange=="00-04",]
感谢您的帮助。
编辑:来自 Arun。这是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 ...
【问题讨论】:
-
请使用
dput(head(demoData))提供您的数据子集。将xlsx文件加载到 R 中可能会很痛苦。 -
你的变量叫
Age,而不是AgeRange? -
“00-04”后面有一个空格。那就是问题所在。试试
demoData[demoData$Age == "00-04 "] -
你能告诉我
summary( demoData )吗? -
@Arun 哦,对了 - 数据链接已发布。当然!我以为你有某种神奇的方法来确定空格与空格的界限!!!
标签: r dataframe subset r-factor