我想计算每个"日"的平均值,但是在一天的一部分时间(时间= 12-14).这段代码对我有用,但我必须输入每一天作为新的代码行,这将达到数百行.
这似乎应该很简单.当分组变量相同但我不想知道当我不想包含当天的所有值时,我很容易做到这一点.有一个更好的方法吗?
sapply(sap[sap$Day==165 & sap$Time %in% c(12,12.1,12.2,12.3,12.4,12.5,13,13.1,13.2,13.3,13.4,13.5, 14), ],mean)
sapply(sap[sap$Day==166 & sap$Time %in% c(12,12.1,12.2,12.3,12.4,12.5,13,13.1,13.2,13.3,13.4,13.5, 14), ],mean)
Run Code Online (Sandbox Code Playgroud)
这是数据的样子:
Day Time StomCond_Trunc
165 12 33.57189926
165 12.1 50.29437636
165 12.2 35.59876214
165 12.3 24.39879768
Run Code Online (Sandbox Code Playgroud) 非常感谢有关如何使我的代码或binwidth行为的任何想法.我的数据集包含每隔几个小时"4"和每天"24"收集的带时间戳的数据点.我试图在左边绘制4小时堆积直方图,在右边绘制24小时堆积直方图.因此,我希望右侧的binwidth比左侧binwidth宽6倍.但是我用binwidth尝试的一切都没有用.x轴数据,data3 $ dts似乎是连续的而不是离散的,但也许我做得不对.
关于数据的重要说明:在右侧绘制的数据,小时数= 24,数据的dts值始终为整数.左边的数据,小时= 4数据,具有非整数dts值.
"dts" "Yes" "No" "Maybe" "hours" "days"
"258" 15627.668 8 0 1 4 "7 Days"
"259" 15627.832 13 11 18 4 "7 Days"
"260" 15628 34 47 89 4 "7 Days"
"261" 15628 37 47 90 24 "7 Days"
"262" 15628.168 3 0 1 4 "7 Days"
"40" 15571 345 419 674 24 "90 Days"
"41" 15571.5 91 145 130 4 "90 Days"
"42" 15571.668 158 149 284 4 "90 Days"
"43" 15571.832 96 125 …Run Code Online (Sandbox Code Playgroud) 我试图将多个变量传递给.OnAction调用按钮.我无法找到与多个变量相关的答案,我只能用一个变量来完成.以下是我对一个变量有效的方法:
shpBar.OnAction = "'Button_Click """ & strText & """'"
Run Code Online (Sandbox Code Playgroud)
如何向其中添加另外两个变量(例如VarA和VarB)?
我试图通过将每行除以行总和得到每个单元格的比例,但是R给了我一个错误说,
data.table $ Country:$ operator对原子向量无效
我怎样才能解决这个问题?另外,如何将整个列和行的总和值添加到data.table?我跑的时候会得到这个值addmargins(data.table),但是我想将这些值附加到我的数据帧中.
这是我的代码:
x = c(40,50,30,30,50)
y = c(40,20,30,40,45)
data.table = rbind(x,y)
data.table
dimnames(data.table)=list("Country"=c("England","Germany"),"Score"=c("Q-Score","T-score","X-score","Y-score","Z-score"))
addmargins(data.table)
table(data.table$Country,data.table$Score/rowSums(table(data.table&Country,data.table$Score)))
Run Code Online (Sandbox Code Playgroud) 我需要矩阵每列的加权和.
data <- matrix(1:2e7,1e7,2) # warning large number, will eat up >100 megs of memory
weights <- 1:1e7/1e5
system.time(colSums(data*weights))
system.time(apply(data,2,function(x) sum(x*weights)))
all.equal(colSums(data*weights), apply(data,2,function(x) sum(x*weights)))
Run Code Online (Sandbox Code Playgroud)
通常colSums(data*weights)比应用调用更快.
我经常做这个操作(在一个大矩阵上).因此寻找有关最有效实施的建议.理想情况下,如果我们可以将权重传递给colSums(或rowSums),那就太棒了.
谢谢,感谢任何见解!
我有两个向量,A和B.对于A我想要找到的第一个元素的索引中的每个元素B都更大并且具有更高的索引.长度A和B是一样的.
所以对于矢量:
A <- c(10, 5, 3, 4, 7)
B <- c(4, 8, 11, 1, 5)
Run Code Online (Sandbox Code Playgroud)
我想要一个结果向量:
R <- c(3, 3, 5, 5, NA)
Run Code Online (Sandbox Code Playgroud)
当然我可以用两个循环来做,但它很慢,我不知道如何在这种情况下使用apply(),当索引很重要时.我的数据集具有长度为20000的向量,因此在这种情况下速度非常重要.
一些奖金问题:
如果我有一个数字序列(比如seq = 2:10),我想找到第一个数字,B对于每个A和每个seq,都高于+ s.
与问题1)一样,但我想知道第一个更大的值和第一个更低的值,并创建一个矩阵,它存储哪一个是第一个.所以例如我有一个A,和seq的10.我想找到第一个值B,它高于+ 10,或低于-10,然后存储它的索引和值.
我正在尝试使用命令行参数从命令行运行R. 这包括传入一些文件路径作为在脚本中使用的参数.它大部分时间都有效,但有时路径中有空格而R不理解.
我正在运行以下形式:
R CMD BATCH --slave "--args inputfile='C:/Work/FolderWith SpaceInName/myinputfile.csv' outputfile='C:/Work/myoutputfile.csv'" RScript.r ROut.txt
Run Code Online (Sandbox Code Playgroud)
R抛出一个文件说
Fatal error: cannot open file 'C:\Work\FolderWith': No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以我的单引号显然不足以告诉R将引号内的所有内容作为参数值.我在想这意味着我应该找到一种方法来分隔我--args使用逗号,但我找不到办法来做到这一点.我确信这很简单,但我在文档中找不到任何内容.
当前脚本非常基本:
ca = commandArgs(trailingOnly=TRUE)
eval(parse(text=ca))
tempdata = read.csv(inputFile)
tempdata$total = apply(tempdata[,4:18], 1, sum)
write.csv(tempdata, outputFile, row.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
如果它是相关的我正在使用Windows,但它似乎不是一个cmd提示问题.
我用cast()从reshape包装相当频繁.几乎每次都会弹出这个警告:
Aggregation requires fun.aggregate: length used as default
我试图设定options( warn =-1),但无济于事.如何抑制这些警告?
我有一个data.table X,我想基于2个字符变量创建一个变量
X[, varC :=((VarA =="A" & !is.na(VarA))
| (VarA == "AB" & VarB =="B" & !is.na(VarA) & !is.na(VarB))
)
]
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但速度很慢,因为它对2个char变量进行矢量扫描.请注意,我没有通过VarA和VarB setkey claim4 table.在data.table中有没有"正确"的方法呢?
更新1:我没有使用setkey进行此转换,因为我已经使用setkey(X,Year,ID)进行其他变量转换.如果我这样做,我需要在此转换后将密钥重置为Year,ID.
更新2:我用Matthew的方法对我的方法做了基准测试,他的速度要快得多:
test replications elapsed relative user.self sys.self user.child sys.child
2 Matthew 100 3.377 1.000 2.596 0.605 0 0
1 vectorSearch 100 200.437 59.354 76.628 40.260 0 0
Run Code Online (Sandbox Code Playgroud)
唯一的小事是setkey然后重新setkey再次有点冗长:)
这个想法是无论是下雨还是下雨,潮湿或精细,用户都必须得到他付出的全部费用.
来自Apple:
Store Kit provides built-in functionality to restore transactions for non-consumable products, auto-renewable subscriptions and free subscriptions
对于这些交易,Apple Store Kit具有良好的内置工具.我想专注于其他类型(特别是消耗品).唯一的交易信息是我们在成功购买后通过Store Kit接收的标识符和收据数据.我们的应用程序使用服务器端模型向其提供产品.但是仍然存在许多丢失购买数据的情况,例如当用户通过App Store进行购买时服务器放下,因此无法向服务器发送收据以完成验证过程.
目前的解决方法是:
但这种方法仍然存在泄漏.例如,用户可以从设备中删除不等待交易到服务器的应用程序,因此根本不会有任何关于他的购买的证据.
你的建议?