小编nde*_*763的帖子

删除前导NA以对齐数据

我有一个很大data.frame的'交错'数据,并希望对齐它.我的意思是我想采取类似的东西

在此输入图像描述

并从所有列中删除前导(顶部)NA以获取

在此输入图像描述

我知道包中的na.trim函数zoo,但是这不适用于data.frame上面提到的初始函数或它的转置.为此,我使用了转置数据帧t.df,

t.df <- na.trim(t.df, sides = 'left')
Run Code Online (Sandbox Code Playgroud)

这只返回一个空的data.frame,并且不会以我想要的方式工作,因为它会创建不同长度的向量.任何人都可以指向一个可能更有帮助的包或功能吗?

以下是我上面使用的示例的代码:

# example of what I have

var1 <- c(1,2,3,4,5,6,7,8,9,10)
var2 <- c(6,2,4,7,3,NA,NA,NA,NA,NA)
var3 <- c(NA,NA,8,6,3,7,NA,NA,NA,NA)
var4 <- c(NA,NA,NA,NA,5,NA,2,6,2,9)

df <- data.frame(var1, var2, var3, var4)


# transpose and (unsuccessful) attempt to remove leading NAs

t.df <- t(df)

t.df <-  na.trim(t.df, sides = 'left')
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

与一些非受访者一起绘制李克特式问题

我正在尝试绘制 Likert 类型的数据,并使用改编自该网站的代码:https://scisley.github.io/articles/ggplot-likert-plot/

重现该示例的代码:

# load packages
library(dplyr)
library(ggplot2)
library(knitr)
library(tidyr)
library(scales)

# Simulation N responses
N <- 50
answers <- c("Strongly Disagree","Somewhat Disagree","Neither Agree nor Disagree",
              "Somewhat Agree", "Strongly Agree")
set.seed(12342)
d <- tibble(
  id = paste0("Respondent", 1:N),
  Q1 = sample(answers, N, replace=TRUE),
  Q2 = sample(answers, N, replace=TRUE),
  Q3 = sample(answers, N, replace=TRUE),
  Q4 = sample(answers, N, replace=TRUE),
  Q5 = sample(answers, N, replace=TRUE)
)

# reduce data
d.reduced <- d %>%
  select(-id) %>%
  gather("Q", "ans") %>%
  group_by(Q, ans) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 likert

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

标签 统计

r ×2

dataframe ×1

ggplot2 ×1

likert ×1