小编Geo*_*tas的帖子

帮我用"apply"函数替换for循环

......如果可能的话

我的任务是找到用户参与游戏的最长连续日.

我选择使用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)

loops for-loop r apply

4
推荐指数
2
解决办法
1万
查看次数

最具代表性的集群实例

在对我的数据集(名为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)

r cluster-analysis machine-learning data-mining

4
推荐指数
1
解决办法
2849
查看次数

动态生成的数据窗口中的列名称

当我使用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!?!?!

powerbuilder sybase datastore dynamic-sql

4
推荐指数
1
解决办法
3171
查看次数

引导比较两组

在下面的代码中,我使用自举来计算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,以便引导程序重新采样将模拟生成"第二个样本"的"单独样本"设计原始数据?

bootstrapping r

4
推荐指数
1
解决办法
1万
查看次数

有没有办法检查字符向量中单词的拼写?

要检查的文本是希腊语,但我想知道是否也可以用英语单词.我最初的想法在这里描述,我已经找到了一种使用VBA的方法.但是我想知道是否有办法用R来做.如果在R中没有办法,你会想到比Excel-vba更好的东西吗?

text spell-checking r

2
推荐指数
1
解决办法
1462
查看次数

将 xtable 中底行的内容加粗

如何将 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)

latex r xtable

2
推荐指数
1
解决办法
1969
查看次数

奇怪的findFn故障

我注意到使用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

r

1
推荐指数
1
解决办法
128
查看次数

1
推荐指数
1
解决办法
1283
查看次数

按初始顺序获取指数

> which(LETTERS %in% c("R","A"))
[1]  1 18
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到答案18 1,即初始向量中出现的顺序中的索引?

r

1
推荐指数
1
解决办法
44
查看次数

使用theme_wsj {ggthemes}时,如何使xlab和ylab可见?

您可以在此页面中查看示例.

请注意,在theme_wsj示例中,xlabylab没有出现.

这是一个包含标签的非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)

r ggplot2

0
推荐指数
1
解决办法
1243
查看次数

LaTeX到png的转换

按照上一个问题,我想我可以先将一个Rgunk中的 R命令(如dvi,dvips,...)转换为stargazer(摘要统计表的乳胶代码)输出到png,或者在最坏的情况下,调用系统命令(见本),然后导入所产生的PNG到我的RMD文件,使用类似的命令

![alt text](summary_lm.png)
Run Code Online (Sandbox Code Playgroud)

你认为这有可能吗?你能告诉我怎么做,因为我没有运气吗?

windows png latex r converter

0
推荐指数
1
解决办法
1061
查看次数