任务:对列中的所有元素求和。
问题:这样做时,出现以下错误“由强制性引入的NA”。
如何避免这种情况?这是我到目前为止所做的:
load dataset and get the table:
dat <- read.table("http://stat.ethz.ch/Teaching/Datasets/milben.dat")
get the first column and exclude first element:
fc<- dat[-1,1]
transform factors in numbers and compute the sum
sum(as.numeric(levels(fc))[fc]) numbers
非常感谢您!
答案 0 :(得分:0)
根据我的收集,看来您想对频数列求和。以下代码(使用tidyverse)可能会有所帮助:
library(tidyverse)
df <- read_table('http://stat.ethz.ch/Teaching/Datasets/milben.dat')
df %>%
summarize(
total = sum(frequency)
)
输出为:
# A tibble: 1 x 1
total
<dbl>
1 150
答案 1 :(得分:0)
这是一个简单的data.table
解决方案。 @www评论是最好的。然后,您用sum(fc$n)
和/或sum(fc$frequency)
求和。
library(data.table)
library(magrittr)
dat <- fread("http://stat.ethz.ch/Teaching/Datasets/milben.dat") %>%
.[-1]
dat[, lapply(.SD,
sum)]
#> n frequency
#> 1: 28 80
由reprex package(v0.2.1)于2019-02-28创建