Qualtrics生成第一行中带有变量名的csv文件,第二行中带有变量标签.我想使用read_csv()读取我的数据,同时读取第一行作为列名,然后跳过下一行变量标签.以下是我失败的尝试.
library(readr)
mydata <- read_csv("qualtrics_data.csv", col_names = TRUE, skip = 2) # this would actually skip both the names and label rows.
Run Code Online (Sandbox Code Playgroud) 我试图更好地理解pmap()数据帧中的工作原理,并且pmap()从多个列应用计算方法时我得到了令人惊讶的结果.
mtcars %>%
mutate(comp_var = pmap_dbl(list(vs, am, cyl), mean)) %>%
select(comp_var, vs, am, cyl)
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,comp_var等于其行中vs的值,而不是给定行中三个变量的平均值.
我知道我可以得到准确的结果comp_var...
mtcars %>%
rowwise() %>%
mutate(comp_var = mean(c(vs, am, cyl))) %>%
select(comp_var, vs, am, cyl) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
...但我想了解pmap()在这种情况下应该如何应用.
我想从数据集中删除全部为 NA 的行(也称为保留具有任何非 NA 的行)作为列列表。我如何更新此代码以便x&y作为向量提供?这将使我能够灵活地添加和删除列以进行检查。
library(dplyr)
ds <-
tibble(
id = c(1:4),
x = c(NA, 1, NA, 4),
y = c(NA, NA , 3, 4)
)
ds %>%
rowwise() %>%
filter(
any(
!is.na(x),
!is.na(y)
)
) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写类似的内容any(!is.na(c(x,y))),但我不确定如何向is.na().
我正在编写一个自定义函数,用于输出字段的平均值和标准差。我希望 .field 参数在某些状态下以整齐的方式进行评估,并在另一个阶段作为字符串进行评估。如何将 .field 参数评估为字符串?
library(dplyr)
library(tidyr)
mean_sd <- function(.data, .field){
.data %>%
summarise(
mean = mean({{.field}}),
sd = sd({{.field}})
) %>%
pivot_longer(
everything(),
names_to = "stat",
values_to = '.field' # I'd like this to print the value of .field
) %>%
mutate(across(is.numeric, ~round(.x, 2)))
}
mean_sd(mtcars, mpg)
Run Code Online (Sandbox Code Playgroud)
假设我有一个非常大的相关表,并且只想检查大于某个值的相关性(例如,0.40).如何提取值大于0.40的所有行或列?
我可以使用apply执行此操作,但希望在tidyverse中执行操作.
library(tidyverse)
df <- mtcars %>%
select_if(is.numeric) %>%
cor() %>%
round(digits = 2) %>%
as.data.frame()
df[apply(df, 1, function(row) {all(abs(row) > .40)}),]
Run Code Online (Sandbox Code Playgroud)