我在 R 中有这个数据集:
id = 1:5
col1 = c("12 ABC", "123", "AB", "123344567", "1345677.")
col2 = c("gggw", "12", "567", "abc 123", "p")
col3 = c("abw", "abi", "klo", "poy", "17df")
col4 = c("13 AB", "344", "Huh8", "98", "b")
my_data = data.frame(id, col1, col2, col3, col4)
id col1 col2 col3 col4
1 1 12 ABC gggw abw 13 AB
2 2 123 12 abi 344
3 3 AB 567 klo Huh8
4 4 123344567 abc 123 poy 98
5 5 1345677. p …
Run Code Online (Sandbox Code Playgroud) 尝试使用 awk 命令来实现此规则:如果行不以“O|”开头 或“A|” 或“S|” 我想删除前一行的新行
我在输入中有这个文件(input.txt)
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
我想要这个输出
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
执行这段代码
awk '/^O\|/ || /^A\|/ || /^S\|/ {printf "%s", $0; next} 1 {print}' input.txt > output.txt
它返回
O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
我想计算min
给定组内的累积值。
我当前的数据框:
Group <- c('A', 'A', 'A','A', 'B', 'B', 'B', 'B')
Target <- c(1, 0, 5, 0, 3, 5, 1, 3)
data <- data.frame(Group, Target))
Run Code Online (Sandbox Code Playgroud)
我想要的输出:
Desired.Variable <- c(1, 0, 0, 0, 3, 3, 1, 1)
data <- data.frame(Group, Target, Desired.Variable))
Run Code Online (Sandbox Code Playgroud)
对此的任何帮助将不胜感激!
我有一个包含许多重复行的数据集,我想仅隔离非重复值。我的 df 看起来像这样
df <- data.frame("group" = c("A", "A", "A","A","A","B","B","B"),
"id" = c("id1", "id2", "id3", "id1", "id2","id1","id2","id1"),
"Val" = c(10,10,10,10,10,12,12,12))
Run Code Online (Sandbox Code Playgroud)
我想提取的只是没有重复的行。即我的最终数据集应该如下所示
final <- data.frame("group" = c("A","B"),
"id" = c("id3","id2"),
"Val" = c(10,12))
Run Code Online (Sandbox Code Playgroud)
请注意,我对查找唯一值不感兴趣,而是对不重复的值感兴趣。我知道如何找到独特的价值,例如df %>% distinct()
做这份工作。它正在区分我正在努力解决的非重复行
我有一些长格式数据,1)需要将其重新整形为宽,然后 2)需要根据其名称模式对列进行排序。示例数据如下:
#Orignial data
set.seed(100)
long_df <- tibble(id = rep(1:5, each = 3),
group = rep(c('g1','g2','g3'), times = 5),
mean = runif(15, min = 1, max = 10),
sd = runif(15, min = .025, max = 1))
long_df
# A tibble: 15 x 4
id group mean sd
<int> <chr> <dbl> <dbl>
1 1 g1 3.77 0.677
2 1 g2 3.32 0.224
3 1 g3 5.97 0.374
4 2 g1 1.51 0.375
5 2 g2 5.22 0.698
6 2 g3 …
Run Code Online (Sandbox Code Playgroud) 大家好,我有一个数据框,其中每个 ID 都有 1-5 次多次访问。我正在尝试计算每次访问与访问 1 之间的分数差异。(分数(Visit 5-score(Visit1)等)。我如何在 R 中实现这一目标?下面是示例数据集和结果数据集
structure(list(ID = c("A", "A", "A", "A", "A", "B", "B", "B"),
Visit = c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L), Score = c(16,
15, 13, 12, 12, 20, 19, 18)), class = "data.frame", row.names = c(NA,
-8L))
#> ID Visit Score
#> 1 A 1 16
#> 2 A 2 15
#> 3 A 3 13
#> 4 A 4 12
#> 5 A 5 12
#> 6 B 1 …
Run Code Online (Sandbox Code Playgroud) 我正在使用 R 编程语言。最近,我读到了一种名为“强化学习树”(RLT)的新决策树算法,据称该算法有可能使“更好”的决策树适合数据集。该库的文档可在此处找到:https ://cran.r-project.org/web/packages/RLT/RLT.pdf
我尝试使用这个库在(著名的)鸢尾花数据集上运行分类决策树:
library(RLT)
data(iris)
fit = RLT(iris[,c(1,2,3,4)], iris$Species, model = "classification", ntrees = 1)
Run Code Online (Sandbox Code Playgroud)
问题:从这里开始,是否可以从这个决策树中提取“规则”?
例如,如果您使用 CART 决策树模型:
library(rpart)
library(rpart.plot)
fit <-rpart( Species ~. , data = iris)
rpart.plot(fit)
Run Code Online (Sandbox Code Playgroud)
rpart.rules(fit)
Species seto vers virg
setosa [1.00 .00 .00] when Petal.Length < 2.5
versicolor [ .00 .91 .09] when Petal.Length >= 2.5 & Petal.Width < 1.8
virginica [ .00 .02 .98] when Petal.Length >= 2.5 & Petal.Width >= 1.8
Run Code Online (Sandbox Code Playgroud)
是否可以使用 RLT 库来做到这一点?我一直在阅读这个库的文档,似乎找不到提取决策规则的直接方法。我知道这个库通常是用作随机森林(没有决策规则)的替代品 - 但我正在阅读该算法的原始论文,其中他们指定 RLT 算法适合单个决策树(通过RLT …
我有一个数据框(称为 df),如下所示:
我试图获取所有周末“成交量”值(“WEEKDAY”列 = 5(星期六)或 6(星期日)的值)并将它们加到随后的星期一(WEEKDAY = 0)。
我尝试了一些方法,但没有任何效果,以最后三行为例:
我期待的是这样的:
要重现该问题:
!wget https://raw.githubusercontent.com/brunodifranco/TCC/main/volume_por_dia.csv
df = pd.read_csv('volume_por_dia.csv').sort_values('Datas',ascending=True)
df['Datas'] = pd.to_datetime(df['Datas'])
df = df_volume_noticias.set_index('Datas')
df['WEEKDAY'] = df.index.dayofweek
df
Run Code Online (Sandbox Code Playgroud) 我正在使用 R 编程语言。我有以下数据:
library(dplyr)
my_data = data.frame(id = c(1,1,1,1,2,2,2,3,4,4,5,5,5,5,5), var_1 = sample(c(0,1), 15, replace = TRUE) , var_2 =sample(c(0,1), 15 , replace = TRUE) )
my_data = data.frame(my_data %>% group_by(id) %>% mutate(index = row_number(id)))
my_data = my_data[,c(1,4,2,3)]
Run Code Online (Sandbox Code Playgroud)
数据看起来像这样:
id index var_1 var_2
1 1 1 0 1
2 1 2 0 0
3 1 3 1 1
4 1 4 0 1
5 2 1 1 0
6 2 2 1 1
7 2 3 0 1
8 3 1 …
Run Code Online (Sandbox Code Playgroud) 我有一个与此类似的数据集:
dataset <- structure(
list(
Participant.Id = 1:5,
x1 = c(10L, 20L, 30L, 40L, 50L),
x2 = c(15L, 25L, 35L, 45L, 55L),
x3 = c(20L, 25L, NA, 45L, NA),
x4 = c(25L, 30L, NA, 50L, NA),
x5 = c(NA, 35L, NA, 55L, NA),
x6 = c(NA, 35L, NA, NA, NA),
y1 = c(10L, 20L, 30L, 40L, 50L),
y2 = c(15L, 25L, 35L, 45L, 55L),
y3 = c(20L, 25L, NA, 45L, NA),
y4 = c(25L, 30L, NA, 50L, NA),
y5 = …
Run Code Online (Sandbox Code Playgroud)