下面的代码运行良好,它正确地标记了条形图,但是,如果我尝试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时我该怎么办,因为它是由函数自动生成的?
我试图读取一个> 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脚本.有什么建议?
如何避免切割函数创建的间隔中存在科学记数法.
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) 在转换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)

我试图将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最初我是分组在不同的两个d1和d2
为什么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) 我正在尝试完成一个数据营练习,其中我需要将 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) 我无法在反应性闪亮结构中对数据帧进行子集化并将其显示为表格.如果我尝试只显示数据帧,我能够但无法进行子集和显示.我相信它必须采用这种方式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) 如果我想将integer或double变量转换为character变量,如何完成任务,我尝试了以下代码,但是我确定这是错误的方法。
storms %>% mutate_if(c(is.integer | is.double),
.funs = as.character)
Run Code Online (Sandbox Code Playgroud) 
我想使用我在下面的代码中包含的逻辑在类别列中获取类别名称.但是,它会中断并产生错误.评级变量是整数.
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且仅使用第一个元素
我在R中使用了leaps包来执行前向和后向特征消除。但是,我希望自动化交叉验证和预测操作。因此,如何在插入符号中使用向前/向后选择?
在跳跃包中你可以这样做
forward <- regsubsets(x ~ ., data, nvmax = 20,
method = "forward")
Run Code Online (Sandbox Code Playgroud)