我正在尝试使用可用的iOS设备存储Swift.我在这里找到了这个功能
func deviceRemainingFreeSpaceInBytes() -> NSNumber {
let documentDirectoryPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let systemAttributes = NSFileManager.defaultManager().attributesOfFileSystemForPath(documentDirectoryPath.last as String, error: nil)
return systemAttributes[NSFileSystemFreeSize] as NSNumber
}
Run Code Online (Sandbox Code Playgroud)
但是在编译时给出了这个错误:[NSObject : AnyObject]? does not have a member named 'subscript' 我认为这个错误来自这里提到的问题,即attributesOfFileSystemForPath返回一个可选的字典(文档).我在一般意义上理解这个问题,但是由于建议的解决方案涉及嵌套的情况,我不太清楚如何修复我感兴趣的函数(这对我来说并不是很有帮助Swift).有人可以建议如何使功能工作?注意:我不确定作者是否测试了原始函数,或者它是否在xcode 6 beta下运行,但据我所知,它在GM下无效.
我正在尝试实现以下卷积R,但没有得到预期的结果:
$$ C _ {\ sigma} [i] =\sum\limits_ {k = -P} ^ P SDL _ {\ sigma} [ik,i]\centerdot S [i] $$

其中$ S [i] $是光谱强度的矢量(洛伦兹信号/核磁共振光谱),而$ i\in [1,N] $其中$ N $是数据点的数量(在实际例子中,可能是32K)值).这是Jacob,Deborde和Moing,Analytical Bioanalytical Chemistry(2013)405:5049-5061(DOI 10.1007/s00216-013-6852-y)中的等式1 .
$ SDL _ {\ sigma} $是计算洛伦兹曲线的二阶导数的函数,我已经实现如下(基于论文中的等式2):
SDL <- function(x, x0, sigma = 0.0005){
if (!sigma > 0) stop("sigma must be greater than zero.")
num <- 16 * sigma * ((12 * (x-x0)^2) - sigma^2)
denom <- pi * ((4 * (x - …Run Code Online (Sandbox Code Playgroud) 如果您是一个软件包作者,当我们在大约一周内转移到2.14时,您希望很清楚包结构即将发生的变化.其中一个变化是所有包都需要一个NAMESPACE,如果您没有生成一个包,将为您生成一个(R等同于您在美国的Miranda权利).因此,作为一个好公民,我试图解决这个问题.以下是R-exts的部分:
1.6.5摘要 - 转换现有包
总而言之,将现有包转换为使用命名空间涉及几个简单的步骤:
确定公共定义并将它们放在导出指令中.识别S3样式的方法定义并编写相应的S3method声明.识别依赖项并通过import指令替换任何require调用(并在DESCRIPTION文件的Depends和Imports字段中进行适当的更改).用.onLoad函数或useDynLib指令替换.First.lib函数.
为了确保我在这里做正确的事情,有人可以给出一个简短明确的定义/答案(我是否通过将几个小但相关的问题放在一起来打破规则?).所有答案都应考虑到2.14,请:
谢谢!
我正试图在检查包时追逐功能名称之间的冲突.我最终可能会直接询问这个问题,但首先,我想知道三件事情,R-exts中似乎都没有提及:
我正在尝试完善一种比较回归和PCA的方法,其灵感来自博客脑瘫痪,这也是从SO的不同角度进行讨论的.在我忘记之前,非常感谢JD Long和Josh Ulrich的大部分核心.我将在下学期的课程中使用它.对不起,这很长!
更新:我找到了一种几乎可以使用的不同方法(如果可以,请修复它!).我把它贴在了底部.比我能想出的更智能,更简洁的方法!
我基本上遵循了之前的方案,直到某一点:生成随机数据,找出最佳拟合线,绘制残差.这显示在下面的第二个代码块中.但我也在挖掘并编写了一些函数来通过随机点(在这种情况下为数据点)绘制垂直于直线的直线.我认为这些工作正常,它们在First Code Chunk中显示,并且证明它们有效.
现在,第二个代码块使用与@JDLong相同的流程显示整个操作,我正在添加一个结果图的图像.黑色,红色的数据是回归,残差是粉红色,蓝色是第一个PC,浅蓝色应该是法线,但显然它们不是.第一代码块中绘制这些法线的函数似乎很好,但是演示中的某些东西是不正确的:我认为我必须误解某些东西或传递错误的值.我的法线是水平的,这似乎是一个有用的线索(但到目前为止,不是我).有谁能看到这里有什么问题?
谢谢,这让我烦恼了一会儿......

第一个代码块(绘制法线和证明它们起作用的函数):
##### The functions below are based very loosely on the citation at the end
pointOnLineNearPoint <- function(Px, Py, slope, intercept) {
# Px, Py is the point to test, can be a vector.
# slope, intercept is the line to check distance.
Ax <- Px-10*diff(range(Px))
Bx <- Px+10*diff(range(Px))
Ay <- Ax * slope + intercept
By <- Bx * slope + intercept
pointOnLine(Px, Py, Ax, Ay, …Run Code Online (Sandbox Code Playgroud) 我有一个小插图使用pdfcrop.
这并不是每台计算机或操作系统都可用:R维护者告诉我这pdfcrop是在他们的Debian系统上,但显然不是其他人.因此,我想在插图中包含一些逻辑,以确定该程序是否可用并尽可能使用它(我正在使用knitr构建插图并因此knit_hooks$set(crop = hook_pdfcrop)激活它).
我知道我可以.Platform用来获取操作系统,如果我在unix上,那么我可以使用which pdfcropvia system()来告诉我程序安装在哪里/是否,但我不知道如何使这个过程适用于OSX,linux, Windows等,我不知道如何正确获取which其他平台的返回值或相应的命令.
换句话说,我正在尝试做类似这样的问题但是我没有检查R包,我正在检查非R程序.我转向SO,因为我既没有知识也没有平台来检查它.
我正在使用ggplot2来绘制以下数据geom_area.这些值被设计为ax轴镜像.但是狗的情节结束并没有反映出来.

但正如你从这个数据框架中看到的那样,狗应该在x = 100和y = 0时结束,但它似乎在x = 100和y = 100时结束(见最后一行)
我怎样才能准确制作狗镜猫?
x y animal
1 100.0 100 cat
2 90.0 89 cat
3 84.0 85 cat
4 55.5 60 cat
5 28.3 37 cat
6 27.0 32 cat
7 18.0 25 cat
8 0.0 0 cat
9 0.0 100 dog
10 10.0 89 dog
11 16.0 85 dog
12 44.5 60 dog
13 71.7 37 dog
14 73.0 32 dog
15 82.0 25 dog
16 100.0 0 dog …Run Code Online (Sandbox Code Playgroud) 交互式地,这个例子工作正常:
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(. ~ vs)
Run Code Online (Sandbox Code Playgroud)
现在,使用公式接口创建一个函数并使用aes_string它做同样的事情,它不起作用(错误是:) Error in layout_base(data, cols, drop = drop) : At least one layer must contain all variables used for facetting:
tf <- function(formula, data) {
res <- as.character(formula[[2]])
fac2 <- as.character(formula[[3]][3])
fac1 <- as.character(formula[[3]][2])
# p <- ggplot(aes_string(x = fac1, y = res), data = data)
# p <- p + geom_point() # original attempt
p <- ggplot() # This is Joran's trick, but …Run Code Online (Sandbox Code Playgroud) 你好我试图B从矩阵中的列A中减去列dat来创建一个C列(A- B):
我的意见:
A B
1 2
2 2
3 2
4 2
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
A B C
1 2 -1
2 2 0
3 2 1
4 2 2
Run Code Online (Sandbox Code Playgroud)
我试过了:dat$C <- (dat$A - dat$B)但是我得到了:## $ operator is invalid for atomic vectors错误
干杯.
在构建mypackage时,一切似乎都有效:
library(devtools)
build(vignettes = T, manual = T)
* checking for file ‘/storage/Documents/client/validate/mypackage/DESCRIPTION’ ... OK
* preparing ‘mypackage’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* building ‘mypackage_0.1.tar.gz’
[1] "/storage/Documents/client/validate/mypackage_0.1.tar.gz"
Run Code Online (Sandbox Code Playgroud)
但是我找不到PDF手册和小插图.
Vignette:遵循此处所述的工作流程,使用RStudio/devtools/markdown.然而:
vignette("mypackage")警告信息:未找到插图'mypackage'
对于PDF手册,我试过这个,但没有成功.
所以,我的问题是:我在哪里可以找到PDF手册和小插图?