使用 mtcars 实现可重复性
(这是一个行操作)。我想根据它们的大小连续保留 3 个值(所以基本上前 3 个值将具有价值,其余的一切都更改为 NA)
我尝试使用 pivot_longer 转换为 long 然后过滤,但问题是我想再次转换为宽,因为我想保留数据的结构。
mtcars %>%
pivot_longer(cols = everything()) %>%
group_by(name) %>% top_n(3)
Run Code Online (Sandbox Code Playgroud)
注意:在 mtcars 中,所有 3 行都具有与非 NA 相同的列名值,但在原始数据集中会有所不同。(最好是tidyverse解决方案)
我有一列包含字符串内容
temp <- c(NA, NA, "grocery pantry all offers", NA, "grocery offers today low price",
"grocery offers today low price", "tide soap", "tide soap bar",
"tide detergent powders 2kg", NA, "tide", "tide detergent powders 2kg",
"liquid detergent tide brand")
Run Code Online (Sandbox Code Playgroud)
我的目的是用紧挨着 Tide 的单词创建一个 bigram。为此,我需要过滤掉靠近潮汐的单词。无论是左侧还是右侧。对于上述输出中的 ex 将是
tide soap
tide soap
tide detergent
tide detergent
detergent tide
tide brand
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
所以我有一个列表如下,我想要的是将它们分成三个单独的数据帧(名称为香蕉/草莓和苹果),如预期输出所示。我已经看到了这个(将列表拆分为数据帧 R),但它与我想要的完全相反。我不想组合然后我想将它们分成三个与列表标题同名的数据框。
list_a <- list(`Banana` = c(8.7), `Strawberry` = c(2.3), `Apple` = c(3.5))
Run Code Online (Sandbox Code Playgroud)
DF1
Banana
8.7
Run Code Online (Sandbox Code Playgroud)
DF2
Strawberry
2.3
Run Code Online (Sandbox Code Playgroud)
DF3
Apple
3.5
Run Code Online (Sandbox Code Playgroud)
任何最好在 Tidyverse 中的解决方案都将不胜感激。实际问题在列表中有更多的列。
(使用虹膜可重现性)
我相信我的问题的措辞可以改进,但这是一个非常简单的问题,我需要返回n_distinct即 3 ifcolumn_name=="Species"和 mean if 其他人。另一部分效果很好,但我在 Species 列中收到 NA 作为输出,任何帮助我做错了什么。
library(tidyverse)
new_mean <- function(col_name) {
if(col_name=="Species")
{
return(n_distinct(col_name))
}
else
{
return(mean(col_name))
}
}
purrr::map_dfr(iris,new_mean)
Run Code Online (Sandbox Code Playgroud) 我有两个数据框 A 和 B,除了主键之外,两个数据框都具有相同的列(在实际数据中,我有超过 50 个这样的列),现在我想比较“摘要”统计数据(正常的 R 摘要()命令)两个数据框,但为了比较的目的,我希望看到它们彼此相邻,如所附图像中所示。

数据帧输出结构
structure(list(Pkey = c(1, 2, 3, 4, 5), Phy_marks = c(43, 44, 45,
46, 47), Math_marks = c(34, 34, 45, 32, 21)), .Names = c("Pkey",
"Phy_marks", "Math_marks"), row.names = c(NA, -5L), class =
"data.frame")
structure(list(Pkey = c(11, 12, 13, 14, 15), Phy_marks = c(43, 44,
45, 46, 47), Math_marks = c(34, 34, 45, 32, 21)), .Names = c("Pkey",
"Phy_marks", "Math_marks"), row.names = c(NA, -5L), class =
"data.frame")
Run Code Online (Sandbox Code Playgroud)
请帮忙!!!
I have a dataframe as below (obtained after lot of preprocessing)
Please find dataframe
d = {'token': {361: '180816_031', 119: '180816_031', 101: '180816_031', 135: '180816_031', 292: '180816_031',
133: '180816_031', 99: '180816_031', 270: '180816_031', 19: '180816_031', 382: '180816_031',
414: '180816_031', 267: '180816_031', 218: '180816_031', 398: '180816_031', 287: '180816_031',
155: '180816_031', 392: '180816_031', 265: '180816_031', 239: '180816_031', 237: '180816_031'},
'station': {361: 'deneb', 119: 'callisto', 101: 'callisto', 135: 'callisto', 292: 'callisto', 133: 'deneb',
99: 'callisto', 270: 'callisto', 19: 'deneb', 382: 'callisto', 414: 'deneb', …Run Code Online (Sandbox Code Playgroud) 为什么下面将输出返回为data frame with 0 columns and 1 row,我也不知道这意味着什么。
运行的代码是
iris %>% summarise(across(everything(),nrow))
Run Code Online (Sandbox Code Playgroud)
请注意,以下两个都按预期返回输出
iris %>% summarise(across(everything(),length))
iris %>% summarise(across(everything(),mean))
Run Code Online (Sandbox Code Playgroud)
收到的理想输出
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
150 150 150 150 150
Run Code Online (Sandbox Code Playgroud)