我已经浏览了很多关于订购因素的帖子,但还没找到与我的问题匹配的帖子.不幸的是,我对R的了解还很不成熟.
我有一个我正在使用的考古工件目录的子集.我正在尝试交叉制表诊断历史工件类型和站点测试位置.使用ddply或tapply足够容易.
我的问题是我想通过它们的平均诊断日期(数字/年)对工件类型(一个因子)进行排序,并且我会按字母顺序获取它们.我知道我需要让它成为一个有序因子,但无法弄清楚如何通过另一列中的年份值来订购它.
IDENTIFY MIDDATE
engine-turned fine red stoneware 1769
white salt-glazed stoneware, scratch blue 1760
wrought nail, 'L' head 1760
yellow lead-glazed buff earthenware 1732
...
Run Code Online (Sandbox Code Playgroud)
需要订购的是:
IDENTIFY MIDDATE
yellow lead-glazed buff earthenware 1732
white salt-glazed stoneware, scratch blue 1760
wrought nail, 'L' head 1760
engine-turned fine red stoneware 1769
...
Run Code Online (Sandbox Code Playgroud)
因子(IDENTIFY)需要按日期(MIDDATE)排序.我以为我有它
Catalog$IDENTIFY<-factor(Catalog$IDENTIFY,levels=Catalog$MIDDATE,ordered=TRUE)
Run Code Online (Sandbox Code Playgroud)
但得到警告:
In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
else paste0(labels,: duplicated levels will not be allowed
in factors anymore
Run Code Online (Sandbox Code Playgroud)
IDENTIFY具有~130个因子级别,并且许多具有相同的MIDDATE值,因此我需要通过MIDDATE和另一个列TYPENAME来订购IDENTIFY.
更多细节:
我有一个数据帧Catalog,它分解为(即 …
在R/RStudio中安装或更新软件包时,我发现了许多与此警告相关的问题,但似乎没有一个问题完全符合我的情况:
C:\Users\[myname]\RC\Users\[myname]\RStudioR_LIBS_USER 添加为用户环境变量,指向正确的目录.libPaths() 显示正确的目录,包括系统和用户trace(utils:::unpackPkgZip,edit = T)并编辑第140 Sys.sleep(0.5)行Sys.sleep(2),有时暂时工作,但编辑将不会停留...重置Sys.sleep(0.5)每个会话重启任何大于几Kb的包都会给出以下信息:
package ‘packagename’ successfully unpacked and MD5 sums checked
Warning in install.packages :
unable to move temporary installation ‘C:\Users\[myname]\R\win-library\3.4\file2b884fc37c13\packagename’ to ‘C:\Users\[myname]\R\win-library\3.4\packagename’
Run Code Online (Sandbox Code Playgroud)软件包无法安装或更新.所以,我的问题是:
unpackPkgZip永久保存?在这一点上,我很难过.我怀疑它与下载后临时锁定文件/目录的防病毒软件有关,但是我无法做到这一点.在Sys.sleep(2)似乎做的伎俩,但我不能继续这样做,每一个包之前安装或更新似乎并不能得到编辑留在原地.