robvsn 发表于 2014-10-31 06:13
改为 if (place %in% location) {...}
我在后面又遇到问题了......我现在就是要做一个函数把一个表的记录按照第二列的数字升序排序,遇到数字相同的话则按第一列首字母升序排序,就像下面这个表一样:
[,1] [,2]
[1,] "ST FRANCIS MEDICAL CENTER" "13.6"
[2,] "NATCHITOCHES REGIONAL MEDICAL CENTER" "13.7"
[3,] "BATON ROUGE GENERAL MEDICAL CENTER" "13.8"
[4,] "OCHSNER FOUNDATION HOSPITAL" "14.3"
[5,] "ST TAMMANY PARISH HOSPITAL" "14.3"
[6,] "TOURO INFIRMARY" "14.3"
我遇到的问题是我排序的时候明明看到表里面第二列的属性有几个在10以下,可是函数运行出来却没有了第二列属性在10以下的那些记录,就是下面这样:
[,1] [,2]
[1,] "EAST CARROLL PARISH HOSPITAL" "10.0"
[2,] "LSU HEALTH SCIENCES CENTER - SHREVEPORT" "10.1"
[3,] "NORTH OAKS MEDICAL CENTER, LLC" "10.1"
[4,] "ST FRANCIS MEDICAL CENTER" "10.1"
[5,] "LAKEVIEW REGIONAL MEDICAL CENTER" "10.2"
[6,] "WASHINGTON ST TAMMANY REGIONAL MEDICAL CENTER" "10.2"
可以看到第二列从10.0开始排,但实际上表里面有几条记录第二列是8点几和9点几的,这几条记录却被忽略了。所以我就想问一下究竟是什么原因呢?是不是因为第二列的类型是character呢?如果是的话怎么把它转化成numeric属性呢?真心求解答~