我试图获得电子邮件地址的结尾(即.net,.com,.edu等),但@之后的部分可以有多个句点.
library(stringi)
strings1 <- c(
'test@aol.com',
'test@hotmail.com',
'test@xyz.rr.edu',
'test@abc.xx.zz.net'
)
list1 <- stri_split_fixed(strings1, "@", 2)
df1 <- data.frame(do.call(rbind,list1))
> list2 <- stri_split_fixed(df1$X2, '.(?!.*.)', 2);list2
[[1]]
[1] "aol.com"
[[2]]
[1] "hotmail.com"
[[3]]
[1] "xyz.rr.edu"
[[4]]
[1] "abc.xx.zz.net"
Run Code Online (Sandbox Code Playgroud)
有任何建议可以得到这样的东西:
X1 X2 X3
1 test aol.com com
2 test hotmail.com com
3 test xyz.rr.edu edu
4 test abc.xx.zz.net net
Run Code Online (Sandbox Code Playgroud)
编辑:另一种尝试:
> list2 <- stri_split_fixed(df1$X2, '\.(?!.*\.)\w+', 2);list2
Error: '\.' is an unrecognized escape in character string starting "'\."
Run Code Online (Sandbox Code Playgroud) 我有一个包含空格和其他标点字符的数据集.我正在尝试用"_"替换空格和特殊字符.这将创建串成多点"_",所以我想通过使用如描述的以下功能过于删除这些在这里:
removeSpace <- function(x){
class1 <- class(x)
x <- as.character(x)
x <- gsub(" |&|-|/|'|(|)",'_', x) # convert special characters to _
x <- gsub("([_])\\1+","\\1", x) # convert multiple _ to single _
if(class1 == 'character'){
return(x)
}
if(class1 == 'factor'){
return(as.factor(x))
}
}
Run Code Online (Sandbox Code Playgroud)
问题是不是删除空格而是替换为"_"而是用"_"代替其他所有字符(即"test" - >"t_e_s_t")
我究竟做错了什么?
我很好奇我如何从日志返回到价格.这是一个例子:
> a1 <- c(88.23, 88.44, 88.55, 88.77, 88.99)
> a1
[1] 88.23 88.44 88.55 88.77 88.99
> a2 <- diff(log(a1))
> a2
[1] 0.002377315 0.001243008 0.002481391 0.002475249
Run Code Online (Sandbox Code Playgroud)
a1是价格,a2是退货.我如何从a2回到a1?任何建议都会很棒.
在R(或任何其他平台/语言)中,ROC曲线的计算是可以拆分并且并行执行的.我正在做一行150k行,每次使用pROC包计算大约需要5-7分钟.任何其他建议更快的AUC或ROC计算将不胜感激.谢谢.
我正在尝试使用线性回归来计算3种模型的最佳权重来预测结果.因此有3个变量(x1, x2, x3)是因变量的预测,y.我的问题是,如何以系数之和为1的约束运行回归.例如:
这很好:
y = .2(x1) + .4(x2) + .4(x3)
Run Code Online (Sandbox Code Playgroud)
以来 .2 + .4 + .4 = 1
这不好:
y = 1.2(x1) + .4(x2) + .3(x3)
Run Code Online (Sandbox Code Playgroud)
以来 1.2 + .4 + .3 > 1
如果可能的话,我希望在R中这样做.谢谢.如果需要将其移至统计区域("交叉验证"),请告诉我.
编辑:
问题是将每一行分类为1或0. y是来自训练集的实际值(0或1),x1是来自kNN模型的预测值,x2来自randomForest,x3来自gbm模型.我正在尝试为每个模型获得最佳权重,因此每个系数<= 1且系数之和== 1.看起来像这样:
y/Actual value knnPred RfPred gbmPred
0 .1111 .0546 .03325
1 .7778 .6245 .60985
0 .3354 .1293 .33255
0 .2235 .9987 .10393
1 .9888 .6753 .88933
... ... ... ...
Run Code Online (Sandbox Code Playgroud)
成功的衡量标准是AUC.所以我试图设置系数以最大化AUC,同时确保它们总和为1.
我正在处理一个在数据中有一些明显错误的数据集(即,1岁以下且信用卡余额为50,000美元的孩子).我不能一行一行地设置为> 100k行.有没有正式的工作如何在数据集中搜索这些类型的明显问题,甚至更好的R中的任何包?或者我应该开始做直方图?
是否有任何包或包的组合可以采取邮政编码列表和:
1)将它们转换为纬度和经度
2)将点放在地图上
我有两张桌子。一个是预测列表(又名 PREDS)。另一个是关于预测的汇总统计数据的集合,也称为 STATS。到目前为止,PREDS 有大约 1 毫米的线,但它实际上仅由 30 个不同的模型生成,因此每个模型生成约 3 万个预测。
在 STATS 表中,每一行都是一个模型的汇总统计信息。由于旧模型不再存在,STATS 表中大约有 100 行。我试图找出 PREDS 表中的哪些模型不在 STATS 表中,以便我可以更新它们的汇总统计数据。
我正在尝试这样的东西:
SELECT distinct(t1.modelnum) FROM `PREDS` t1
where t1.modelnum not in (select distinct(modelnum) from `STATS` t2);
Run Code Online (Sandbox Code Playgroud)
但它需要永远运行。我可以快速运行不同的边 ( select distinct(modelnum) from...) 但是当组合在一起时,我似乎做错了什么。
有什么建议?
我有一些历史期权价格,我试图确定一个隐含的delta.
我有:
1) strike
2) call/put
3) stock price
4) dividend
5) interest rate
6) option price
Run Code Online (Sandbox Code Playgroud)
我很难在R中找到一个包/函数来做到这一点.
我看过这个fOptions包裹,但似乎没有任何东西可以用来计算隐含的希腊人.
有什么建议?
我有一个因子变量列.我需要更改因子是某个很少发生的水平的所有细胞的值.我正在使用以下代码但它似乎没有工作:
test2$timeFactor <- ifelse(test2$timeFactor == '94', '-1000', test2$timeFactor)
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
test2$timeFactor <- factor(ifelse(test2$timeFactor == '94', '-1000', test2$timeFactor))
Run Code Online (Sandbox Code Playgroud)
但似乎都不起作用.有什么明显我在这里不见了?
r ×9
regex ×2
data-mining ×1
geolocation ×1
if-statement ×1
java ×1
join ×1
mysql ×1
options ×1
outliers ×1
regression ×1
sql ×1
statistics ×1
string ×1