xBa*_*rns 11 r dataframe tibble
我有一个像这样导入的 Excel 工作表中的数据:
F4_Off <- readxl::read_xlsx("myExcel.xlsx", sheet = "Offline", col_names = TRUE, range = "I1:L285")
F4_Off
F4_On <- readxl::read_xlsx("myExcel.xlsx", sheet = "Online", col_names = TRUE, range = "J1:M68")
F4_On
Run Code Online (Sandbox Code Playgroud)
这是结合使用:
F4_Gesamt <- rbind(F4_Off, F4_On)
Run Code Online (Sandbox Code Playgroud)
数据如下所示:
A tibble: 351 x 4
nein Smartphone `Computer / Laptop / Tablet` `keine Angabe`
<dbl> <dbl> <dbl> <dbl>
1 NA NA 1. NA
2 NA 1. NA NA
3 NA 1. NA NA
4 NA 1. NA NA
5 NA 1. 1. NA
6 NA 1. 1. NA
7 NA 1. 1. NA
8 NA 1. NA NA
9 NA NA 1. NA
10 1. NA NA NA
Run Code Online (Sandbox Code Playgroud)
实际上,我希望对每列进行总结(总结起来,数“1”)并转换成这样的表格:
Type Value
<chr> <dbl>
1 nein 162
2 Smartphone 120
3 `Computer / Laptop / Tablet` 93
4 `keine Angabe` 16
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式进行总结:
F4_Gesamt_sum <- colSums(F4_Gesamt, na.rm = TRUE, dims = 1)
Run Code Online (Sandbox Code Playgroud)
然后它看起来像这样:
nein Smartphone Computer / Laptop / Tablet keine Angabe
162 120 93 16
Run Code Online (Sandbox Code Playgroud)
现在:
str(F4_Gesamt_sum)
Run Code Online (Sandbox Code Playgroud)
给出:
Named num [1:4] 162 120 93 16
- attr(*, "names")= chr [1:4] "nein" "Smartphone" "Computer / Laptop / Tablet" "keine Angabe"
Run Code Online (Sandbox Code Playgroud)
这就是我现在连续几天惨遭失败的地方,我如何让它看起来像是我在上面“伪造”了它?
最后,我想将这些数据提供给 ggplot 并制作一个漂亮的条形图。
leb*_*nok 18
尝试
as.data.frame(F4_Gesamt_sum)
Run Code Online (Sandbox Code Playgroud)
或者
(function(x)data.frame(Type=names(x), Value=x))(F4_gesamt_sum)
Run Code Online (Sandbox Code Playgroud)