嗨,我正在运行chisq.test()方法,它给了我回到x平方和p值,现在我想取p值,并根据阅读继续我的程序.我怎样才能从chisq.test()方法的结果中取出p值.
它看起来很简单,但是我不知道如何在R中进行编码。我有一个带有约100个变量的数据框(df),并且我想在响应中进行多元回归,即我的第一个变量(Y)和变量25至60作为回归变量。问题是我不想像这样写每个变量名:
lm(Y~var25+var26+.......var60, data=df)
Run Code Online (Sandbox Code Playgroud)
我想使用[,25:60]之类的东西来选择一个完整的范围。我已经尝试过了,但是没有用:
test <- lm(Y~df[, 25:60], data=df)
summary(test)
Run Code Online (Sandbox Code Playgroud)
有想法吗?
我有以下代码
library(tidyverse)
dat <- iris %>%
group_by(Species) %>%
summarise(summary = list(fivenum(Petal.Width)))
dat
#> # A tibble: 3 x 2
#> Species summary
#> <fct> <list>
#> 1 setosa <dbl [5]>
#> 2 versicolor <dbl [5]>
#> 3 virginica <dbl [5]>
Run Code Online (Sandbox Code Playgroud)
基本上我使用了Iris数据,按物种分组然后计算fivenum().
我想要做的只是简单地计算汇总值的长度:这是我尝试过的但它没有产生我期望的东西:
dat %>%
mutate(nof_value = length(summary))
# A tibble: 3 x 3
# Species summary nof_values
# <fct> <list> <int>
#1 setosa <dbl [5]> 3
#2 versicolor <dbl [5]> 3
#3 virginica <dbl [5]> 3
Run Code Online (Sandbox Code Playgroud)
该nof_values …
我正在尝试使用编写我的第一个函数rlang,但在修复以下错误时遇到了一些麻烦。
我已经阅读了小插图,但没有看到我要尝试做的一个很好的例子。
library(babynames)
library(tidyverse)
name_graph <- function(data, name, sex){
name <- enquo(name)
sex <- enquo(sex)
data %>%
filter_(name == !!name, sex == !!sex) %>%
select(year, prop) %>%
ggplot()+
geom_line(mapping = aes(year, prop))
}
name_graph(babynames, Robert, M)
Run Code Online (Sandbox Code Playgroud)
我期待我的分布图,但出现错误:
从以下位置调用:abort(paste_line(“只能在准引用上下文中取消引用。”,“”,“#错误:”,“ list(!! myquosure)”,“”,“#好:”,“ dplyr: :mutate(data,!! myquosure)“))
我在数据集中有一列名为debt_to_income_ratio. 该列中的前六个值如下所示:
1. 45
2. 43
3. 20%-<30%
4. 38
5. 49
6. 50%-60%
Run Code Online (Sandbox Code Playgroud)
我一直在尝试从百分比值中删除百分比符号。我也一直在尝试找出 20%-<30% 或 50%-60% 之类的值的平均值。我希望他们阅读 25 和 55。我使用此代码尝试删除百分号,但没有奏效:
mutate(debt_to_income_ratio = gsub('//%','',debt_to_income_ratio))
Run Code Online (Sandbox Code Playgroud)
我也不确定如何找到列中仅某些值的平均值。在此先感谢您的帮助!
我正在尝试对在旧程序上完成的计算进行逆向工程,但无法完全理解。我需要计算顶部 27%、中间 46% 和底部 27% 中有多少值。
我有以下数据集,每个数据集都有 11 个值,以及程序产生的百分比和落入这些百分位数的值的数量。
Upper 27%: 4, Middle 46%: 4, Lower 27%: 3
values: 8,9,10,11,11,11,11,12,12,12,13
Upper 27%: 5, Middle 46%: 4, Lower 27%: 2
values: 2,3,4,4,4,4,5,5,5,5,5
Upper 27%: 2, Middle 46%: 8, Lower 27%: 1
values: 2,4,4,4,4,4,4,4,4,5,5
Upper 27%: 2, Middle 46%: 6, Lower 27%: 3
values: 13,17,17,18,19,19,19,21,21,23,24
Run Code Online (Sandbox Code Playgroud)
我发现了诸如 (n * p) 之类的公式,其中 n 是值的数量,p 是百分位数,但它似乎不适用于所有这些数据集以给出相同的结果。我有点迷茫,没有找到任何可以在这里产生结果的东西。
我已经测试了我在互联网上找到的代码,但没有一个适用于不同的数据集。
我尝试过的代码示例:
internal static double percentile(double[] sortedData, double p)
{
if (p >= 100.0d) return sortedData[sortedData.Length - 1];
double …Run Code Online (Sandbox Code Playgroud) 我有一个 csv 文件中的数据。当我阅读它时,这些列处于因子级别,我无法进行任何计算。
我使用过,
as.numeric(df$variablename)但它为变量呈现了一组完全不同的数据。
original data in the variable: 2961,488,632,
as.numeric output: 1,8,16
Run Code Online (Sandbox Code Playgroud) 我正在尝试将数字划分为类别以创建新列。基本上,尝试根据分数创建字母等级(“ A”,“ B”,“ C”,“ D”,“ F”)。
我在以下代码中复制了与遇到问题的数据帧类似的数据帧。
df <- tibble(score = rnorm(20:100, n = 150))
Run Code Online (Sandbox Code Playgroud)
我编写的添加成绩列的代码如下所示:
df_with_grade <- df %>%
mutate(Grade = if (score >= 90) {
"A"
} else if (score >= 80){
"B"
} else if (score >= 70){
"C"
} else if (score >= 60){
"D"
} else {
"F"
}
)
Run Code Online (Sandbox Code Playgroud)
代码执行时显示警告:
Warning messages:
1: In if (score >= 90) { :
the condition has length > 1 and only the first element will be used …Run Code Online (Sandbox Code Playgroud) 我很确定我会因为缺乏查询语言等知识而在这里感到尴尬。希望这是一个简单的查询。
如果我在R中有两个数据帧,我想创建一个我认为是“完全连接”的表,该表包含一个记录,该记录包含第一帧和第二帧中记录的每种组合。
因此,如果我进行设置(作为一个非常简单的示例):
df_1 <- data.frame(
Col_1 = c("Alan", "Bob")
)
df_2 <- data.frame(
Year = c(2005, 2006, 2007, 2008)
)
Run Code Online (Sandbox Code Playgroud)
我想创建一个数据框,如下所示:
Col_1 Col_2
===== =====
Alan 2005
Alan 2006
Alan 2007
Alan 2008
Bob 2005
Bob 2006
Bob 2007
Bob 2008
Run Code Online (Sandbox Code Playgroud)
我希望我可以使用:
df_output <- full_join(df_1, df_2)
Run Code Online (Sandbox Code Playgroud)
但我收到一条错误消息
错误:
by必填,因为数据源没有公共变量
我了解...但是我不知道如何到达我要去的地方。
有人可以帮忙吗?谢谢艾伦