标签: R
rowscorrelationreshape
我正在尝试将R中的列转换为行,如果不使用重塑,则无法安装该包。我收到的数据包括属性及其相应的度量。我想计算所有这些属性之间的统计相关性——总共16000条,记录800万条。并非所有记录都具有相同数量的属性
为此,我相信我必须将列转换为行,以便最终使用cor函数,例如corx[,1],x[,2:16000]。如果有某种方法可以按属性使用cor函数,即属性1和2、属性1和3、属性1。。。任何帮助都将不胜感激
ID Attribute Metric1
[1,] 1
您可以在中看到示例
注意,在theme_wsj示例中,xlab和ylab不会出现
这是一个包含标签的非GG主题图:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_point() +
xlab("Hello World: X axis") +
ylab("Hello World: Y axis")
但是,当您添加theme_wsj theme时,它们将消失:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_po
我正在尝试从广域data.frames中找到创建摘要表/data.frames的惰性/简单方法。假设使用以下data.frame,但包含更多列,因此指定列名需要很长时间:
set.seed(2)
x <- data.frame(Rep = rep(1:3, 4), Temp = c(rep(10,6), rep(20,6)),
pH = rep(c(rep(8.1, 3), rep(7.6, 3)), 2),
Var1 = rnorm(12, 5,2), Var2 = c(rnorm(6
我有两个向量,对或错。基本上是关于家庭、是否拥有汽车以及是否拥有金表的数据。注意,汽车和金表不是实际的类别,但它们是这个问题的有效替代品
我想找出汽车拥有量和手表拥有量之间的关系,并且可以为统计数据和R使用哪些函数提供一些建议
这个想法是为了能够说:
如果有人有车,我们可以95%的信心说他们有25%的机会拥有金表
我一直在和Cross.Table和assocscats打交道,基本上把自己完全搞糊涂了,因为我认为这是一个标准的统计问题
对应该使用哪些测试/功能有任何快速了解吗?我得到的相关系数是.
标签: R
Plot
ggplot2visualization
我对同一模型的一对结果进行了估计,我想用误差条显示这些结果。如何创建一对图,将样本数据中的rea估计值与所有其他数据(rea和sci、rea和mat等)进行比较。在所有图中,rea应始终作为图中的第一个出现,并且数据的顺序不应改变
library (ggplot2)
ucl<- c(5.88 , 3.92, 7.0, 3.724, 5.488)
lcl<-c(1.04 , 0.04, 2.04, -0.06 , 0.84)
est<-c(3 ,
假设我有一组长度相同的独立向量。比如说,
x <- 1:10
y <- rep(NA, 10)
常用的方法是什么?使用mapply和c:
使用mapply和c:
另一种选择:
split(cbind(x, y), seq(length(x)))
甚至:
split(c(x, y), seq(length(x)))
甚至假设x没有重复值,如示例中所示:
split(c(x, y), x)
另一种选择:
split(cbind(x, y), seq(length(x)))
甚至
如何根据另一个向量中满足的条件从一个变量中获得元素向量?我这样做是为了能够绘制人口的各个部分
我的尝试无效,导致出现空(空)向量:
a你所做的事情需要双重否定
> b[!(a != 3)]
#[1] 3 5 6 7 10 12
但是你可以为了同样的结果这样做
> b[a == 3]
#[1] 3 5 6 7 10 12
如果有数据帧,它将是
> df$b[df$a == 3]
#[1] 3 5 6 7 10 12
仅适用于b值,以及
> df
我正在尝试用以下数据创建条形图
fac <- c("A","A","B","B","A","A")
test1 <- c(1,2,1,1,1,3)
test2 <- c(2,1,3,3,3,1)
test3 <- c(1,1,2,2,3,2)
df <- data.frame(fac,test1,test2,test3)
我想为fac中的A组和B组创建两个图表
每个图表将在y轴上显示百分比,在x轴上显示测试1、2、3,并显示每个测试的1、2和3的比例
例如,对于A
我对下面的switch语句有问题:
names <- rep(1:num.bins, 3)
names <- sort(names)
c.names <- sapply(1:(3*num.bins), function(i){
switch( i %% 3,
1 = paste0("M", names[i]),
2 = paste0("F", names[i]),
0 = paste0("E", name
我找到了一种将字符串转换为日期格式的简单方法。问题是我得到的结果与网站上的不同
sdate1 <- "6aug2005"
sdate2 <- "jan151999"
sdate3 <- "12-15-2001"
ndate1 <- as.Date(sdate1, "%d%B%Y"); ndate1
ndate2 <- as.Date(sdate2, "%B%d%Y"); ndate2
ndate3 <- as.Date(sdate3, "%m-%d-%Y")
我花了几天时间解锁openbug上的错误消息,但没有成功。使用R2OpenBUGS,我得到了以下信息:
“模型在语法上是正确的
加载的数据(不在模型中的变量:xA、pA、yA、xB、pB和其他)
未定义变量mu.phi.alpha
模型必须已编译但未更新,才能更改RN生成器
BugsCmds:NoCompileInits
必须在生成初始值之前编译模型
模型必须在更新之前初始化
必须先初始化模型,然后才能使用监视器“
在使用监视器之前,必须初始化模型
代码如下:
library(R2OpenBUG
我有一段R代码,我正试图用R标记中的“Knit word”将其放入word文档中。R标记块如下所示:
```{r}
all <- readHTMLTable('http://en.wikipedia.org/wiki/Demographics_of_the_United_States')
```
`{r}
你是不是读到了一些建议size=“tiny”行得通的东西?(我没有看到,请告诉我你有没有看到。)由于knitr使用的是rmarkdown,而后者使用的是pandoc,你可以先阅读,特别
你好,我有以下代码
train=jsonlite::fromJSON("/home/felipe/Templates/Archivo de prueba/databritanica.json")
map<-get_map(location="united kingdom" ,zoom=12,source="osm")
p <- ggmap(map) +
geom_point(data=train, aes(x=X, y=Y, color=factor(LSOA_name))
我在R中搜索了关于时间戳转换的线程,但没有找到答案。
我需要将时间列转换为时间戳,以便R将其读取为日期。如果单元格中只有日期而没有时间,则没有问题,但是当前格式(单元格中有+或没有它-R将其视为整数或因子)。
如何将其转换为时间戳
多谢各位
这对你有用吗
t <- c("2014-11-29 15:23:02+")
t <- substr(t, 1, nchar(t)-1)
t
[1] "2014-11-29 15:23:02"
t <- strptime(t, format=
你好!
我有一张这样的桌子:
A B
1 55
1 43
2 55
1 89
3 55
4 43
4 55
我想为每一列计算每一个分类值的频率,并如图所示绘制它们
我怎么做
提前谢谢你我建议你去拿你的柱状图
看看这个
阅读ggplot文档并试一试
顺便说一下,读书对你有好处
希望这有帮助。我不完全了解您的表如何生成您提供的绘图,因为两列的值相等,并且绘图的值是9对6
使用R base,您可以尝试:
df <- data.frame( A = c(
我有以下资料:
a <- matrix(c(1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0), nrow = 2, ncol = 7, byrow = T)
> a
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 1 0 0 0 0 0
[2,] 0 1 0 1 1 0 0
我没有得到1100000和0101100的预
我想用ggplot2生成一个简单的条形图,条形图按y值排序,颜色手动定义。以下是我尝试过的:
df <- data.frame(c("a", "b", "c"), c(2, 3, 1))
colnames(df) <- c("shop", "revenue")
ggplot(data = df, aes(x = reorder(shop, revenue), y = revenue, fill = shop)) +
geom_bar(stat = "identity") +
我的Rmarkdown源代码看起来像(RStudio的屏幕截图):
(注意空行)
当我按CTRL+Shift+k时,我得到了预期的视图(空行)。但是,如果我运行块(evaluate),然后编译(CTRL+Shift+k),我会得到:
(无空行)
有没有办法在源代码中保留空行?(我选中了knitr选项:strip.white=FALSE,tidy=TRUE,tidy.opts=list(blank=TRUE),但没有乐趣。)
我使用的是RStudio 1.0.153
其他资料:
session
标签: R
data.tablepercentage
我有一个数据表,其中数据在4个不同级别(级别0、1、2和3)给出。我想计算第三级的供应如何分配到第二级的每个州。(我在表中保留了occ\u code,这样即使state\u code和level相同,它也是唯一的记录)
创建示例表:
library(data.table)
state_code = c(rep(1,14))
level = c(0,1,2,3,3,2,3,1,2,3,3,3,2,3)
occ_code = LETTERS[1:14]
supply = c(100,60,50,25
我是R的新手,在关系循环方面需要一些帮助。我需要从一个数据集中生成大量的表,我认为循环中的循环可以解决这个问题,但是我在获得正确的结果时遇到了问题
假设我有以下数据集:
var1 <- c("A","A","A","A","B","B","B","B")
var2 <- c(1,2,1,2,1,2,1,2)
df <- data.frame(var1,var2)
var1扩展@Gregor的评论和这里的问题
,
您可以使用Map()和split()函数将新创建的数据帧输出到单
我有超过20个数值向量,它们由一系列值组成。每个向量都由一个字母来区分,例如val_a、val_b、val_c等
我想把这些向量的平均值放到一个单独的命名向量中。我当然可以这样费劲地做:
obs <- c("val_a" = round(mean(val_a),3),
"val_b" = round(mean(val_b),3),
"val_c" = round(mean(val_c),3))
obs解决方案
要根据客户的评论获得完整答案,您可以执行以
我有一个20个OB(日期、价格)的时间序列。我试图用代码通过ggplot绘制序列:ggplot(timeseries,aes(x=date,y=price))+geom_-line(col=“indianred”,size=1)
我想问:如何将每一天都包含在x轴中?我在x轴上只呆了三天
如果日期间隔为1天,您可以使用下面的缩放x\u日期(date\u breaks=“1天”)来包括每天。(您也可以根据需要尝试字符串,如“2天”或“1周”。)
lol查看函数scale\u x\u continuo
我有一个问题,我正在努力寻找解决方案或方法来解决它
我有一些例句,例如
model_sentences = data.frame("model_id" = c("model_id_1", "model_id_2"), "model_text" = c("Company x had 3000 employees in 2016.",
标签: R
dplyrdata.tabletidyversepurrr
样本数据
set.seed(123)
df <- data.frame(loc.id = rep(1:1000, each = 35), year = rep(1980:2014,times = 1000),month.id = sample(c(1:4,8:10,12),35*1000,replace = T))
要计算月份的发生百分比,请执行以下操作:
table(month.vec$month.id)/length(month.vec$month.id) * 100
1 2
我一直在尝试规范化一堆地址。当使用gsub()时,是否存在行为类似于\\b\\b但可以替换多个单词的不同正则表达式
address <- c("SE Kellogg", "SE Kellogg Court")
gsub("\\bSE Kellogg\\b", "SE Kellogg Court", address)
#desired output:
"SE Kellogg Court" "SE Kellogg Court"
# actual output
"SE Kellogg Cou
我有以下数据框:
Date <- c("04.06.2013","05.06.2013","06.06.2013","07.06.2013","08.06.2013","09.06.2013")
discharge <- c("1000","2000","1100","3000","1700","1600")
concentration_1 <- c("25","20","11","6.4","17","16")
concentration_2 <- c("1.4"
标签: R
lazy-evaluationscopingstandardized
我正在尝试创建一个自定义函数,该函数允许我使用标准化包将混合效果标准化应用于大型dplyr数据帧
尽管尝试了各种形式的quosure(使用),我还是没有成功地将函数参数解析到标准化函数中,惰性评估和使用do.call
我已经查看了这些线程(,)中的信息,并尝试实现它们
# example_df
df <- data.frame(
subject = rep( c("01", "02", "03", "04", "05"), 1, each = 5),
time = rep(1:5, 5)
我对一些包含制表符分隔数据的数据集有一点问题,但不幸的是,原始数据中存在一些错误,导致读取R时出现问题
为了更好地理解,数据集如下所示:
Col1 Col2 Col3
1 2 3
4 5 6
7
8 9
10 11 12
7 8 9部分应在一行中,但被错误地分成两行(在原始数据中)。是否有机会在读入时更正此问题,而不是手动更改此问题?由于数据集大约有4百万个观测值,手动校正需要花费大量时间…尝试以下示例:
# read the file line by line:
x <- r
我想创建一个循环来重复数据集列表中的代码行。
每个数据集看起来像:
gwas_1
ID p
1 0.0000005
2 0.0123474
...
gwas_2
ID p
1 0.0000055
2 0.5854587
...
所以我想创建一个新列,并在每个数据集中检查新列中的频率
data=gwas_1
data$p_threshold <- ifelse(data$p<0.001
我有一个值向量:
values = c(22, 42, 243)
我在数据帧中有一个变量:
df$variable = 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3
如何在数据帧中的新变量中将值向量中的每个值重复n次,以获得以下结果:
df$new_variable = 22, 22, 22, 22, 42, 42, 42, 42, 243, 243, 243, 243
您可以使用rle和inverse.rle
r <- rle(var
标签: R
statistics-bootstrap
我想从标准正态分布生成1000个大小为25的样本,计算每个样本的方差,并创建一个直方图。我有以下资料:
samples = replicate(1000, rnorm(25,0,1), simplify=FALSE)
hist(sapply(samples, var))
然后我想从这1000个样本中随机选择一个样本,并从该样本中提取1000个引导。然后计算每个变量的方差并绘制直方图。到目前为止,我已经:
sub.sample = sample(samples, 1)
这就是我被卡住的地方,我
我试图计算两个变量的平均值,并将其作为一个新变量输出。例如:
data$Average <- (data$Visit1 + data$Visit2) / 2
data$Average这里是编辑问题的另一个选项,使用dplyr::case_过滤可能性:
library(dplyr)
data$Average <- case_when(!is.na(data$Visit1) & !is.na(data$Visit2) ~
我有以下几点
library(raster)
r <- raster(ncol=2421, nrow=5005)
r:
class : RasterLayer
dimensions : 2421, 5005, 12117105 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : 501121, 506126, 2809088, 2811509 (xmin, xmax,
考虑
库(dplyr)
分配%
突变(lhs={{rhs}})
}
a=数据帧(b=1,c=2)
分配(a、b)
将产生:
b c lhs
1 1 2 1
我可以做assign_-rhs(a,c)以及lhs到c而不是b
如何使lhs也能接受{{{}}提供的NSE{{{}}治疗
我试过了
库(dplyr)
分配左/右%
突变({lhs}}={{rhs}})
}
a=数据帧(b=1,c=2)
分配左、右、右(左、b)
但是我在定义函数时出错了
Error: unexpected '='
我想在r中添加一列,以计算同一列中每个相等字符的分数差(例如:名称)
我尝试使用dplyr中的groupby函数对数据进行分组,但没有成功 像这样的
library(dplyr)
df %>% group_by(name) %>% mutate(score_diff = c(0, diff(score)))
## A tibble: 6 x 3
## Groups: name [4]
# name score score_diff
# <fct>
我已导入包含多个工作表的excel文件。这是一种列表格式
names(mysheets)
#[1] "test_sheet1" "test_sheet2"
测试表1和测试表2的矩阵不同
我必须把每个工作表作为单独的数据框
如果手动执行,代码将如下所示:
s_1 <- data.frame(mysheets[1])
s_2 <- data.frame(mysheets[2])
s_1您可以使用mget获取对象,然后将其更改为data.frame
list_df <- lapp
我正在寻找一种方法,在选定的列上执行操作,然后再次继续处理所有列。我也希望保持栏目的顺序。不再需要原始选定列
如果有帮助的话,我的数据有row.names
图书馆弹琴
数据虹膜
iris2%
选择容器种类%>%
比例%>%
取消选择??
关于这个有什么想法吗?我找不到像unselect或deselect这样的函数,但我想我遗漏了一些明显的东西?这看起来是dplyr::mutate_at或dplyr::mutate_if的完美用例。在以下两种情况下
比例函数仅应用于所需的列
列顺序将保留
保留所有
假设R中有以下列表:
list_test <- list(c(2,4,5, 6), c(1,2,3), c(7,8))
我试图用tidyverse找到一个解决方案,但要么丢失了列表的索引/名称,要么向量长度不相等。您可以给列表命名,然后在base R中使用堆栈
names(list_test) <- seq_along(list_test)
stack(list_test)
# values ind
#1 2 1
#2 4 1
#3 5
我有一个向量,里面有48个数字,我需要从这个向量中随机选择26个数字,不需要替换,然后将它们存储在一个向量中。我还需要将剩下的22个数字存储在一个单独的向量中。我知道如何在不替换的情况下随机选择26个数字并存储它们,但我很难找到剩下的22个数字。
谢谢您的帮助。您可以使用%中的语法如下:
numbers1 <- sample(x, 26, replacement = false)
numbers2 <- x[!which(x %in% numbers1)]
numbers1这里有一
标签: R
regressionbayesianrstanarm
在使用“rstanarm”对回归模型尝试贝叶斯方法时,不允许重复特定于组的术语。有什么解决办法吗
Formula=“睡眠时间~1+工作时间+(1+工作时间|工作类)+任期+(1+任期|工作类)”
bayesian=stan\u lmer(公式,数据=data\u模型)
检查报告(组)中的错误:
rstanarm不允许使用重复的组特定术语的公式。
在这种情况下,JobClass被多次用作分组因子
(截取)包含多次。
考虑使用公式中的“或”或“1”来防止这种情况发生。 < /P> < P>由
考虑在
我有一个带有图例的情节,图例周围有一个矩形,但矩形与图例内部的东西有一点重叠。有什么办法可以把盒子的尺寸增加一点吗
这可能会起作用:
ggplot(data = data2) + scale_y_reverse(limits = c(1000, 0)) +
scale_x_continuous(limits = c(0, 200)) +
geom_point(aes(y = Depth, x = C_flux_umol, fill = SampleType, shape = Trap
这里的问题是:现在我提取所有的值,这个解重复了问题的代码,但是
unnestcols=csum后立即停止管道;
创建一个simOR,就像继续管道和simAll一样,但这次不过滤p值。
首先是问题的代码。注意,如果加载了包tidyverse,则无需加载包dplyr。
我还设置了RNG种子,以使结果可重复
library(tidyverse)
library(broom)
library(dplyr)
# create a tibble with an id column for each simu
我目前正在阅读“用R进行实际编程”,并被要求“处理”一副牌:处理(deal)。我收到一个错误,说找不到函数“deal”。我使用的是RStudio 1.2.5042。您需要编写一个函数来处理手牌,也许还需要编写一个函数来洗牌。首先,创建甲板
deck <- setNames(merge(
data.frame(c(2:10,"J","Q","K","A"), 1:13),
c('spades','hearts','clubs','diamonds'))
我有这个数据集,并且我根据ks绘制F_1。我需要找到具有最大F_1值的ks的值
set.seed(1)
library(caret)
library(dplyr)
library(modelr)
data("heights")
ks <- seq(1, 101, 3)
F_1 <- sapply(ks, function(k){
test_index <- createDataPartition(heights$sex, times = 1, p =
标签: R
Regex
matchingstringrfuzzy
我的任务是从期刊文章的标题中提取特定的单词(物种名称的第一个单词)。以下是我的数据集的可复制版本:
df <- data.frame(article_title = c("I like chickens and how to find chickens",
"A Horse hootio is going to the rainbow",
"A Cat ca
我有一个数据集,我想在某个列值出现后删除这些行
数据集的一个示例:
a<-data.frame(Account=c('A','A','A','A','A','A','A','A','A'),
ProcessDate=seq(as.Date('2020-01-01'),as.Date('2020-09-01'),by='month'),
Payment=c(1,2,3,4,5,6,7,8,9),
Column
我有一个数据集,包含两个变量:学习时间和成绩。我想从这个数据集中抽取大约100个样本,每个样本20个,并显示100条回归线以及原始回归线。有什么建议吗
库(ggplot2)
#>警告:包“ggplot2”是在R版本3.6.3下生成的
等级=读取.csv(“https://www.dropbox.com/s/me6wiww943hzddj/grades.csv?dl=1")
qplot(小时、等级、数据=等级、geom=“点”)+geom_平滑(方法=lm)
#>`geom_smooth()`使用
我知道这有几个话题。但是没有一个对我有用。我真的试过了。
所以,我有这个文件:
Group Weight Size
A 4 1.7
A 5 1.8
A 6 1.9
B 7 1.75
B 4 1.73
B 4 1.77
C 5 1.5
C 6 2.3
C 7 1.7
我想做关于体重和体型的描述性统计。所以我用了这个代码:
library(dplyr)
desc_group <- data.frame(ma
标签: R
Filter
dplyroutlierssummarize
我得到了一个数据帧,其中有一个数值和一个5级因子变量
# set seed for reproducibility
set.seed(123)
df <- tibble(group = rep(c("a", "b", "c", "d", "e"), each = 20),
values = c(rnorm(20, 0, 1), rnorm(20, 1, 1), rn
我有一个dfs列表:
lst<-list(`101-01-101` = structure(list(SubjectID = "101-01-101",
BRTHDTC = "1953-07-07", SEX = "Female"), row.names = c(NA,
-1L), class = c("tbl_df", "tbl", "data.frame"
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 7946 页