小编Duy*_*Bui的帖子

在R中将时间从数字转换为时间格式

我从xls文件中读取数据.显然,时间不是正确的格式.如下(例如)

0.3840277777777778
0.3847222222222222
0.3854166666666667
Run Code Online (Sandbox Code Playgroud)

的确,他们应该是

09:12
09:13
09:13
Run Code Online (Sandbox Code Playgroud)

我不知道如何将其转换为正确的格式.我搜索了几个线程,所有这些线程都是关于将日期(有/没有时间)转换为正确的格式.

有人能给我任何线索吗?

time datetime r date

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

使用R概率的多变量异常值检测

我一直在寻找使用R来识别多变量异常值的最佳方法,但我认为我还没有找到任何可信的方法.

我们可以将虹膜数据作为示例,因为我的数据还包含多个字段

data(iris)
df <- iris[, 1:4] #only taking the four numeric fields
Run Code Online (Sandbox Code Playgroud)

首先,我正在使用距离图书馆MVN的马哈拉诺比斯距离

library(MVN)
result <- mvOutlier(df, qqplot = TRUE, method = "quan") #non-adjusted
result <- mvOutlier(df, qqplot = TRUE, method = "adj.quan") #adjusted Mahalonobis distance
Run Code Online (Sandbox Code Playgroud)

两者都产生了大量的异常值(非调整的150个中有50个,调整后为49/150个),我认为需要更多的改进.遗憾的是,我似乎无法在mvOutlier方法中找到一个设置阈值的变量(表示增加一个点为异常值的概率,因此我们的数字较小)

其次,我使用了异常库.这是为了找到单变量异常值.因此,我的计划是在数据的每个维度上找到异常值,并且那些在所有维度上都是异常值的点被视为数据集的异常值.

library(outliers)
result <- scores(df, type="t", prob=0.95) #t test, probability is 0.95
result <- subset(result, result$Sepal.Length == T & result$Sepal.Width == T & result$Petal.Length == T & result$Petal.Width == T)
Run Code Online (Sandbox Code Playgroud)

为此,我们可以设置概率,但我不认为它可以取代多变量异常值检测.

我试过的其他一些方法

  • library(mvoutlier):这只显示情节.很难自动找到异常值.我不知道如何将概率添加到此
  • 厨师的距离(链接 …

r outliers multivariate-testing mahalanobis

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

正则表达式排除R中的单词

我真的不知道如何在R中使用不匹配的正则表达式正确地找到单词

例如:数据包括:

x =  c("hail", "small hail", "wind hail",  "deep hail",  "thunderstorm hail", "tstm wind hail", "gusty wind hail", "late season hail", "non severe hail", "marine hail")
Run Code Online (Sandbox Code Playgroud)

我想找到所有有"冰雹"但没有"海洋"的人

我的尝试:

x[grep("[^(marine)] hail", x)]
Run Code Online (Sandbox Code Playgroud)

- >我只有5:

"small hail"      "wind hail"       "deep hail"       "tstm wind hail"  "gusty wind hail"
Run Code Online (Sandbox Code Playgroud)

我不知道其他4会发生什么

regex r

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

在R上一次执行多个SQL命令

我使用RMySQL和DBI来连接R和MySQL

library(RMySQL)
library(DBI, quietly = TRUE)
Run Code Online (Sandbox Code Playgroud)

对于一个命令,一切都工作正常,例如

sql = "select * from clients"
con <- dbConnect(MySQL(),user=user, password=password, dbname=dbname, host=host)
rs <- dbSendQuery(con, sql)
data <- fetch(rs, n=-1)
huh <- dbHasCompleted(rs)
dbClearResult(rs)
on.exit(dbDisconnect(con))
Run Code Online (Sandbox Code Playgroud)

但是,当我想用​​";"执行多个命令时 它们之间(例如设置参数),它返回错误.例如

sql = "SET @LAST_TEN_DAY = DATE_ADD(NOW(), INTERVAL -10 DAY); select * from clients where date > @LAST_TEN_DAY"
con <- dbConnect(MySQL(),user=user, password=password, dbname=dbname, host=host)
rs <- dbSendQuery(con, sql)
data <- fetch(rs, n=-1)
huh <- dbHasCompleted(rs)
dbClearResult(rs)
on.exit(dbDisconnect(con))
Run Code Online (Sandbox Code Playgroud)

非常感谢,

mysql sql r rmysql r-dbi

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

读取 PSV(管道分隔)文件或字符串

我刚刚收到一个数据文件,其扩展名为“*.psv”。经过一番研究,我不知道如何打开它R。

csv file-io file-format r pipe

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

R中有多个重复(2次,3次,......)

经过一段时间的搜索,我知道这个问题还没有得到解答.假设我有以下向量

v <- c("a", "b", "b", "c","c","c", "d", "d", "d", "d")

如何找到重复次数超过1的值

(应该 "c","c","c", "d", "d", "d", "d")

超过2个重复

(应该"d", "d", "d", "d")

函数duplicated(v)仅返回具有重复项的值.

duplicate-data r duplicates

5
推荐指数
2
解决办法
843
查看次数

关闭文件上的 Python ValueError I/O 操作

我知道这听起来是一个常见的错误,在 stackoverflow 上被多次询问过。但是,我很确定我的问题是新的,因为我几乎通读了相关主题。

我有两个文件如下:

ALL_USER_PATH = 'all.csv'
NEW_USER_PATH = 'new.csv'
Run Code Online (Sandbox Code Playgroud)

我先打开“所有”文件进行阅读

with open(ALL_USER_PATH, "r") as f:
    df = pd.read_csv(f) #pd is pandas
    f.close()
Run Code Online (Sandbox Code Playgroud)

接下来,我删除“新”文件的内容并准备向其中写入新数据

if os.path.isfile(NEW_USER_PATH):
    os.remove(NEW_USER_PATH)
Run Code Online (Sandbox Code Playgroud)

写信给它,它工作正常

with open(NEW_USER_PATH, "a") as csv_n:
    #writer_n is to write new users
    writer_n = csv.writer(csv_n, delimiter=",", lineterminator='\n')
    for user in customer_records:         
        if checkExistence(df): # a method I wrote before
            continue
        else:    
            writer_n.writerow([data_to_be_written])
Run Code Online (Sandbox Code Playgroud)

接下来,我删除“所有”文件并向其写入新数据

if os.path.isfile(ALL_USER_PATH):
    os.remove(ALL_USER_PATH)

with open(ALL_USER_PATH, "a") as csv_a:
    writer_a = csv.writer(csv_n, delimiter=",", lineterminator='\n')

    for user in customer_records:
        writer_a.writerow([all_data_to_be_written])
Run Code Online (Sandbox Code Playgroud)

错误

“关闭文件上的 …

python csv io pandas

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

无法在 R 上安装 RWeka 包

我尝试了不同的方法在 R 上安装 RWeka 包,但没有找到任何成功。

尽管尝试了不同的方法,但我无法安装 RWeka:

1.正常安装

install.packages("RWeka")
cannot open compressed file 'RWekajars/DESCRIPTION', probable reason 'No such file or directory'
Run Code Online (Sandbox Code Playgroud)

2. 从 URL 安装

install.packages("devtools")
require(devtools)
install_url("http://cran.r-project.org/bin/windows/contrib/3.2/RWeka_0.4-24.zip")
Error in read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : 
  cannot open the connection
Run Code Online (Sandbox Code Playgroud)

3.从本地安装(下载zip文件后放入目录)

install_local("RWeka_0.4-24.zip")
ERROR: installing binary package failed
* removing 'C:/Program Files/R/R-3.2.0/library/RWeka'
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?非常感谢

installation r rweka

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