......如果可能的话
我的任务是找到用户参与游戏的最长连续日.
我选择使用R的rle函数来获取最长的条纹,然后使用结果更新我的db表,而不是编写sql函数.
(附加的)数据框是这样的:
day user_id
2008/11/01 2001
2008/11/01 2002
2008/11/01 2003
2008/11/01 2004
2008/11/01 2005
2008/11/02 2001
2008/11/02 2005
2008/11/03 2001
2008/11/03 2003
2008/11/03 2004
2008/11/03 2005
2008/11/04 2001
2008/11/04 2003
2008/11/04 2004
2008/11/04 2005
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法来获得每个用户最长的条纹
# turn it to a contingency table
my_table <- table(user_id, day)
# get the streaks
rle_table <- apply(my_table,1,rle)
# verify the longest streak of "1"s for user 2001
# as.vector(tapply(rle_table$'2001'$lengths, rle_table$'2001'$values, max)["1"])
# loop to get the results
# initiate results matrix
res<-matrix(nrow=dim(my_table)[1], …Run Code Online (Sandbox Code Playgroud) 在对我的数据集(名为data.matrix的数据帧)执行聚类分析之后,我在末尾添加了一个名为cluster的新列(第27列),其中包含每个实例所属的群集名称.
我现在想要的是来自每个集群的代表性实例.我试图从群集的质心中找到与欧氏距离最小的实例(并为我的每个群集重复该过程)
这就是我做的.你能想到其他 - 或许更优雅的方式吗?(假设没有空值的数字列).
clusters <- levels(data.matrix$cluster)
cluster_col = c(27)
for (j in 1:length(clusters)) {
# get the subset for cluster j
data = data.matrix[data.matrix$cluster == clusters[j],]
# remove the cluster column
data <- data[,-cluster_col]
# calculate the centroid
cent <- mean(data)
# copy data to data.matrix_cl, attaching a distance column at the end
data.matrix_cl <- cbind(data, dist = apply(data, 1, function(x) {sqrt(sum((x - cent)^2))}))
# get instances with min distance
candidates <- data.matrix_cl[data.matrix_cl$dist == …Run Code Online (Sandbox Code Playgroud) 当我使用SyntaxFromSQL动态创建数据存储区时(为了生成基于SQL SELECT语句的数据存储区源代码),使用这样的语法
string ERRORS, sql_syntax, dwsyntax_str, presentation_str
dwsyntax_str = trans_object.SyntaxFromSQL ( sql_syntax, presentation_str, ERRORS)
ds_1.Create( dwsyntax_str, ERRORS)
Run Code Online (Sandbox Code Playgroud)
如何检查生成的数据存储列的名称ds_1?我提醒你,在连接两个或多个表的select语句的情况下,结果列名可以在相关的表名之后,例如,不是获取列名,field_id我可能得到如下的列名:my_table_field_id.这会在以后提供列名称(field_id)作为GetItem函数的参数时引起问题,而相关数据存储区则命名该列my_table_field_id.
更糟糕的是,我发现我获得不同列定义(以表名称开头)的原因之一是用户的登录被分配了sa role!?!?!
在下面的代码中,我使用自举来计算CI和零值假设下的p值,即施用于番茄植物的两种不同肥料对植物产量没有影响(另一种选择是"改良"肥料更好).第一个随机样品(x)来自使用标准肥料的植物,而"改良"的样品已经用于第二个样品(y)来自的植物中.
x <- c(11.4,25.3,29.9,16.5,21.1)
y <- c(23.7,26.6,28.5,14.2,17.9,24.3)
total <- c(x,y)
library(boot)
diff <- function(x,i) mean(x[i[6:11]]) - mean(x[i[1:5]])
b <- boot(total, diff, R = 10000)
ci <- boot.ci(b)
p.value <- sum(b$t>=b$t0)/b$R
Run Code Online (Sandbox Code Playgroud)
我不喜欢上面的代码是重新取样完成,好像只有一个11个样本的样本(将前5个分离为样本x,其余为样本y).您能否告诉我如何修改此代码,以便从第一个样本中替换大小为5的重新采样,并从第二个样本中单独重新采样大小为6,以便引导程序重新采样将模拟生成"第二个样本"的"单独样本"设计原始数据?
要检查的文本是希腊语,但我想知道是否也可以用英语单词.我最初的想法在这里描述,我已经找到了一种使用VBA的方法.但是我想知道是否有办法用R来做.如果在R中没有办法,你会想到比Excel-vba更好的东西吗?
如何将 xtable 最后一行的内容加粗?底行包含总和,我希望它加粗。
我使用以下内容:
<<eval=TRUE,echo=FALSE,results='asis',warning=FALSE,message=FALSE,error=FALSE>>=
test.xt <- xtable(test, label="table", caption='test')
align(test.xt) <- "|l|l|r|r|r|r|r|r|"
print(test.xt, tabular.environment='tabularx', include.rownames = FALSE, width="\\textwidth", floating=FALSE)
@
Run Code Online (Sandbox Code Playgroud) 我注意到使用findFn函数(库sos)时出现了一个奇怪的故障,我找不到源代码.虽然它在我的Windows XP电脑上运行良好,但它不适用于我的Vista.
library (sos)
findFn("randomization test")
# in both finds 72 results
findFn("{randomization test}")
# In XP finds 19 or about so, but in Vista whenever I use {} and more than one word inside,
# I keep getting the following:
found 0 matches
x has zero rows; nothing to display.
Warning message:
In findFn("{randomization test}") :
HIT not found in HTML; processing one page only.
Run Code Online (Sandbox Code Playgroud)
R ver = 2.10.1并更新了包.任何可能出现问题的想法?
奖励:很明显,我正在寻找有关的功能 tests for randomized experiments
> which(LETTERS %in% c("R","A"))
[1] 1 18
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到答案18 1,即初始向量中出现的顺序中的索引?
您可以在此页面中查看示例.
请注意,在theme_wsj示例中,xlab并ylab没有出现.
这是一个包含标签的非ggthemes图:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_point() +
xlab("Hello World: X axis") +
ylab("Hello World: Y axis")
Run Code Online (Sandbox Code Playgroud)
但是,当您添加theme_wsj主题时,它们会消失:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_point() +
xlab("Hello World: X axis") +
ylab("Hello World: Y axis") +
theme_wsj()
Run Code Online (Sandbox Code Playgroud) 按照上一个问题,我想我可以先将一个Rgunk中的 R命令(如dvi,dvips,...)转换为stargazer(摘要统计表的乳胶代码)输出到png,或者在最坏的情况下,调用系统命令(见本柱),然后导入所产生的PNG到我的RMD文件,使用类似的命令

Run Code Online (Sandbox Code Playgroud)
你认为这有可能吗?你能告诉我怎么做,因为我没有运气吗?