小编Sho*_*anz的帖子

如何在ggplot2中获取直方图的数据标签?

下面的代码运行良好,它正确地标记了条形图,但是,如果我尝试geom_text的直方图我失败,因为geom_text需要一个y分量和直方图的y分量是从不作为代码的一部分的频率然后如何带来直方图的标签?

效果很好

 ggplot(csub, aes(x=Year, y=Anomaly10y, fill=pos)) +
        geom_bar(stat="identity", position="identity") +
        geom_text(aes(label=Anomaly10y,vjust=1.5))  
Run Code Online (Sandbox Code Playgroud)

问题 - 下面的geom_text代码中没有Y组件(用?表示)

ggplot(csub,aes(x=Anomaly10y)) + 
        geom_histogram() 
        geom_text(aes(label=?,vjust=1.5))
Run Code Online (Sandbox Code Playgroud)

默认情况下,geom需要x和y组件,

当我没有y-component时我该怎么办,因为它是由函数自动生成的?

r ggplot2

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

R中的fread错误 - 在字符串中嵌入nul:'\ 0'

我试图读取一个> 4GB的csv文件,但是,当我使用fread命令它产生和错误

library(data.table)
csv1 <- fread("cleaned.csv",sep = ",",colClasses = "character",showProgress = TRUE)
Run Code Online (Sandbox Code Playgroud)

错误: embedded nul in string: '\0'

经过一番看,我发现你可以使用sed这个函数,例如在这个stackoverflow问题 但是我不知道如何在我的场景中使用它.请帮忙!

更新: 我试图在注释中使用sed函数,但是,它们会抛出错误.

sed couldn't flush stdout no space left on device

更新2: 我已经在一些同事的帮助下解决了这个问题.但是,我仍然希望自动执行此活动,因为我必须为每个文件重复此过程.预期的自动化将来自R内或使用BASH脚本.有什么建议?

r data.table

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

在R中切割函数中避免使用科学记数法

如何避免切割函数创建的间隔中存在科学记数法.

a<-seq(10000,50000, by=500 )
cut(a, breaks = seq(0,max(a)+300, by = 300))
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但它没有帮助.

options("scipen"=100, "digits"=4)
Run Code Online (Sandbox Code Playgroud)

cut r scientific-notation

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

计算两列之间的时差

在转换POSIXCT格式的因子然后应用日期时间格式后,我想取两个pos1和pos2之间的日期时间差.

但是,当我为特定项目执行此操作时,我在控制台中得到了正确的答案,但是当我在整个集合上执行操作时,控制台仅输出数字,而日期框架反映了您可以看到的那些数字.

当我尝试区分时,如何获取数据框中的小时数?我正在使用lubridate包,有没有这样做的功能?

下面是RStudio中描述它的数据的一些示例代码/图片

CR_Date <- data.frame(
  pos1="2014-07-01 00:00:00",
  pos2=c("2014-07-01 00:00:00","2014-07-01 10:15:00")
)
CR_Date[] <- lapply(CR_Date,as.POSIXct)
CR_Date

#        pos1                pos2
#1 2014-07-01 2014-07-01 00:00:00
#2 2014-07-01 2014-07-01 10:15:00

CR_Date$pos2[2] - CR_Date$pos1[2]
#Time difference of 10.25 hours
CR_Date$hours <- CR_Date$pos2 - CR_Date$pos1
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

datetime r lubridate

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

SQL的`case when when ...使用R中的data.table包进行代码转换

我试图将SQL代码转换为R代码.但是,数据大约有3500万条记录,每条记录有200列.所以我能找到的最佳选择是data.table包.

这是问题所在.在SQL代码中,我能够执行这样的操作,

select order_date,sum(case when item in ("D","C","B") then col4 end)as col1
sum(case when item not in ("Z","X","Y") then col4 end) as col2 
from datatable 
where col3 <25
group by order_date;
Run Code Online (Sandbox Code Playgroud)

以上查询允许我按每个日期分组.我无法在data.table中复制它.我的尝试如下.

grp1<- c("D","C","B")
grp2<- c("Z","X","Y")
d1 <- dat[item %in% grp1,.(col1 = sum(col4,na.rm = TRUE),by = Order_Date]
d2 <- dat[item %in% grp2,.(col2 = sum(col4,na.rm = TRUE),by = Order_Date]
d3 <- data.table(d1,d2)
Run Code Online (Sandbox Code Playgroud)

现在,因为它subsets最初我是分组在不同的两个d1d2

sql r data.table

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

如何在R中求和或平均小时数

为什么sum和average在使用lubridate提取的小时数上不起作用,当使用+和除法的简单加法单独工作时.

数据集

Category   Time1    Time2       hr1        hr2
1        A 0:30:00 24:00:00    30M 0S  24H 0M 0S
2        B 1:00:00 23:23:00  1H 0M 0S 23H 23M 0S
3        C 2:30:00 23:00:59 2H 30M 0S 23H 0M 59S
4        D 3:00:00 45:00:00  3H 0M 0S  45H 0M 0S

> dput(t1)
structure(list(Category = c("A", "B", "C", "D"), Time1 = c("0:30:00", 
"1:00:00", "2:30:00", "3:00:00"), Time2 = c("24:00:00", "23:23:00", 
"23:00:59", "45:00:00"), hr1 = structure(c(0, 0, 0, 0), year = c(0, 
0, 0, 0), month = …
Run Code Online (Sandbox Code Playgroud)

time r hour lubridate

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

为什么我们需要将压缩对象转换为列表

我正在尝试完成一个数据营练习,其中我需要将 2 个列表转换为 a zip object,然后转换为 a dict,最后dataframe使用 pandas 进行转换。

但是,如果我zip()在列表上使用函数并将它们转换为字典,然后转换为数据帧,我不会得到任何错误,但会得到一个看起来完美的数据帧。但说明说我必须首先将压缩对象转换为列表,然后将其转换为dict().

我不明白这对我有什么帮助,因为我每次都得到相同的输出。即数据框。
I am using python3

list()

list_keys = ['Country', 'Total']
list_values = [['United States', 'Soviet Union', 'United Kingdom'], [1118, 473, 273]]

import pandas as pd

zipped = list(zip(list_keys,list_values))

# Inspect the list using print()
print(zipped)

# Build a dictionary with the zipped list: data
data = dict(zipped)

# Build and inspect a DataFrame from the dictionary: df
df = pd.DataFrame(data) …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在闪亮的反应结构中子集数据帧

我无法在反应性闪亮结构中对数据帧进行子集化并将其显示为表格.如果我尝试只显示数据帧,我能够但无法进行子集和显示.我相信它必须采用这种方式input$.

请帮助,我很有光泽

数据集

dput(b)
structure(list(Date = c("1-Jan", "2-Jan", "3-Jan"), Month = c("Jan", 
"Jan", "Jan"), Days = c("Thu", "Fri", "Sat"), A = c(30712L, 26842L, 
21640L), B = c(26505L, 25906L, 22929L), C = c(22128L, 26814L, 
22091L), D = c(30994L, 23935L, 20048L), E = c("38%", "51%", "37%"
), F = c(71L, 70L, 71L), G = c(91L, 114L, 104L), H = c(77L, 98L, 
91L), I = c(-4621L, -463L, 291L), J = c("-32.00%", "-3.30%", 
"2.00%")), .Names = c("Date", "Month", "Days", "A", "B", "C", …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

是否可以在 python 中使用 ALTAIR 4.1 绘制等高线图?

我想知道是否有一种方法可以在 Altair 中绘制等高线图。

Matplotlib 有用于等值线图的 api,如此处所示

Altair文档中没有专门的轮廓 API ,但我想我们可以使用语法来创建一个?

python contour altair

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

带有OR条件dplyr的mutate_if()

如果我想将integerdouble变量转换为character变量,如何完成任务,我尝试了以下代码,但是我确定这是错误的方法。

storms %>% mutate_if(c(is.integer | is.double),
                     .funs = as.character)
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

如果是其他问题; 无法将类别分配给R中的整数类别

数据

我想使用我在下面的代码中包含的逻辑在类别列中获取类别名称.但是,它会中断并产生错误.评级变量是整数.

if (nps$Rating <= 6) {
    nps$npsCAT <- "Detractor"
} else if (nps$Rating > 6 & nps$Rating < 9) {
    nps$npsCAT <- "Passive"
} else {
    nps$npsCAT <- "Promoter"
}
Run Code Online (Sandbox Code Playgroud)

警告消息:在if(nps $ Rating <= 6){:条件长度> 1且仅使用第一个元素

if-statement r

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

在 R 中使用插入符号进行逐步回归

我在R中使用了leaps包来执行前向和后向特征消除。但是,我希望自动化交叉验证和预测操作。因此,如何在插入符号中使用向前/向后选择?

在跳跃包中你可以这样做

forward <- regsubsets(x ~ ., data, nvmax = 20, 
                         method = "forward")  
Run Code Online (Sandbox Code Playgroud)

r r-caret

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