小编Jaa*_*aap的帖子

如何在不引用其他数据的情况下取消引用标题?

我的数据如下所示:

Scenario,ScenName,Step,Date,GBP_fx,EUR_fx
0,"assets",0,"30/09/2016",1,0.865126741
Run Code Online (Sandbox Code Playgroud)

这是一个包含10万个观测值的巨大文件.我在R中读取它并将其修剪为10k然后将其写入csv.但是,我找不到如何在不丢失数据中的引号的情况下仅取消引用标题.如果我保留quote = TRUE,这是最终数据的样子,但我想摆脱标题中的引号.

"Scenario","ScenName","Step","Date","GBP_fx","EUR_fx"
0,"assets",0,"30/09/2016",1,0.865126741
Run Code Online (Sandbox Code Playgroud)

有什么建议?

r

1
推荐指数
1
解决办法
258
查看次数

将数据从长格式重塑为宽格式 - 不止一个变量

我正在尝试使用dcast函数将我的数据从长公式重塑为宽公式。

目标是在value.var参数中使用不同的变量,但 R 不允许我在其中使用多个值。

有没有其他方法可以修复它?我看过其他类似的问题,但我找不到类似的例子。

这是我当前的数据集:

+---------+------+--------+--------------+------------+
| Country | Year | Growth | Unemployment | Population |
+---------+------+--------+--------------+------------+
| A       | 2015 |      2 |          8.3 |         40 |
| B       | 2015 |      3 |          9.2 |         32 |
| C       | 2015 |    2.5 |          9.1 |         30 |
| D       | 2015 |    1.5 |          6.1 |         27 |
| A       | 2016 |      4 |          8.1 |         42 …
Run Code Online (Sandbox Code Playgroud)

r reshape2 dcast

1
推荐指数
1
解决办法
1万
查看次数

从 data.frame 中的每个观察值中减去两级组均值

我需要从组内的每个观察中减去按组计算的平均值。其中具有挑战性的部分是我在数据框中有一个子分组,或两个级别:V5 和 V4。这是我的 data.frame 结构的示例:

B = as.data.frame(matrix(
c(2,2,3,3,4,3,1,5,7,6,4,5,8,9,2,3,8,4,5,0,7,5,6,7,5,3,2,
"A","A","A","A","B","B","C","C","C",
"TRUE","TRUE","TRUE","TRUE","FALSE","FALSE","FALSE","FALSE","FALSE"),
nrow=9,ncol=5))
Run Code Online (Sandbox Code Playgroud)

所以我的 data.frameB看起来像这样:

  V1 V2 V3 V4    V5
1  2  6  5  A  TRUE
2  2  4  0  A  TRUE
3  3  5  7  A  TRUE
4  3  8  5  A  TRUE
5  4  9  6  B FALSE
6  3  2  7  B FALSE
7  1  3  5  C FALSE
8  5  8  3  C FALSE
9  7  4  2  C FALSE
Run Code Online (Sandbox Code Playgroud)

因此,如果我按 V5 和 V4 求平均值,我会得到一个新的 …

r dataframe dplyr data.table

1
推荐指数
2
解决办法
2209
查看次数

根据事务中的项目存在加入数据框

我有两个数据框,我试图合并.第一个表是项目列表和相关数据,例如:

items <- data.frame(
  item_code = c(1111, 2222, 3333, 4444),
  item_category = c("cata","catb","catc","catd")
  )
Run Code Online (Sandbox Code Playgroud)

第二个是交易清单:

transactions <- data.frame(
  tran_code = c('aaaa', 'bbbb', 'cccc', 'dddd'),
  tran_items = c("1111,1111,2222","3333,2222","1111,4444,4444","3333")
  )
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个列,在每个单元格中包含项目出现的事务列表,如下所示:

view(final_df)

item_code item_category in_trans
1111      "cata"        "aaaa,cccc"
2222      "catb"        "aaaa,bbbb"
3333      "catc"        "bbbb,dddd"
4444      "catd"        "cccc"
Run Code Online (Sandbox Code Playgroud)

谁能提供有关如何实现这一目标的建议?

merge join r dplyr

1
推荐指数
1
解决办法
71
查看次数

使用rbindlist时如何按数据集添加索引?

我有几个具有相同结构的不同 csv 文件。我使用 fread 将它们读入 R,然后使用rbindlist().

files <- list.files( pattern = "*.csv" );
x2csv <- rbindlist( lapply(files, fread, stringsAsFactors=FALSE), fill = TRUE )
Run Code Online (Sandbox Code Playgroud)

代码工作得很好。但是,我想添加一个填充数字的列,以指示观察来自哪个 csv 文件。例如,输出应该是:

       V1        V2         V3  C1
   1:   0 0.2859163 0.55848521   1
   2:   1 1.1616298 0.87571349   1 
   3:   2 2.1122510 0.95062116   2 
   4:   3 2.6832013 0.57095035   2
   5:   4 2.9117493 0.22854804   2 
   6:   5 2.9886040 0.07685464   3
Run Code Online (Sandbox Code Playgroud)

其中 C1 是新的索引列,说明:第一个和第二个观察来自 files[1](第一个 .csv 文件);第三个和第四个观察来自 files[1](第一个 .csv 文件);等等。

csv r data.table

1
推荐指数
1
解决办法
1291
查看次数

从文本文件中提取特定单词?

我有一个超过10,000行的文本文件,每行有一个单词,以CDID_开头,后跟10个字符,没有空格,如下所示:

a <- c("Test CDID_1254WE_1023 Sky","CDID_1254XE01478 Blue","This File named as CDID_ZXASWE_1111")
Run Code Online (Sandbox Code Playgroud)

我想提取以CDID_开头的单词,使上面的行看起来像这样:

CDID_1254WE_1023
CDID_1254XE01478
CDID_ZXASWE_1111
Run Code Online (Sandbox Code Playgroud)

regex r

1
推荐指数
1
解决办法
1146
查看次数

如何比较两个概率密度函数?

我有两个概率密度函数,我想知道它们的分布是否相似.我知道R中的KS测试可以做到这一点,但是当我运行代码时,会发生错误.谢谢你的帮助.

set.seed(100)
a=density(sample(x=1:30,size = 30,replace = T))
b=density(sample(x=1:40,size = 35,replace = T))
plot(a)
lines(b)

ks.test(a,b)
Error in ks.test(a, b) : 
 'y' must be numeric or a function or a string naming a valid function
Run Code Online (Sandbox Code Playgroud)

r hypothesis-test

1
推荐指数
1
解决办法
1486
查看次数

如何使用which.min函数列表

我有3组名为minDist的列表.每个列表有三列,因此它有三个组(1,2和3).

minDist:

 [[1]]
          [,1]     [,2]     [,3]
 [1,]  1.000000 9.055385 9.000000
 [2,]  0.000000 9.000000 9.055385
 [3,]  1.414214 8.062258 8.000000
 [4,]  1.000000 8.000000 8.062258
 [5,]  9.055385 1.000000 0.000000
 [6,]  9.000000 0.000000 1.000000
 [7,] 10.049876 1.414214 1.000000
 [8,] 10.000000 1.000000 1.414214
 [9,]  5.000000 5.830952 6.403124
[10,]  5.656854 6.403124 7.071068


[[2]]
        [,1]      [,2]     [,3]
[1,] 10.000000 10.049876 9.055385
[2,] 10.049876 10.000000 9.000000
[3,]  9.000000  9.055385 8.062258
[4,]  9.055385  9.000000 8.000000
[5,]  1.000000  1.414214 1.000000
[6,]  1.414214  1.000000 0.000000
[7,]  0.000000  1.000000 1.414214
[8,]  1.000000 …
Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
1215
查看次数

如何对列表中所有数据框的列进行复杂编辑?

我有一个名为185个数据帧的列表WaFramesNumeric.每个数据帧都有数百列和数千行.我想编辑每个数据框,以便它保留所有数字列以及我指定的任何非数字列.

使用:

for(i in seq_along(WaFramesNumeric)) {
    WaFramesNumeric[[i]] <- WaFramesNumeric[[i]][,sapply(WaFramesNumeric[[i]],is.numeric)] 
}
Run Code Online (Sandbox Code Playgroud)

成功使每个数据框仅包含其数字列.

我试图用行修改它来添加特定的列.我试过了:

for (i in seq_along(WaFramesNumeric)) {
    a <- WaFramesNumeric[[i]]$Device_Name
    WaFramesNumeric[[i]] <- WaFramesNumeric[[i]][,sapply(WaFramesNumeric[[i]],is.numeric)] 
    cbind(WaFramesNumeric[[i]],a)
}
Run Code Online (Sandbox Code Playgroud)

并尝试调用所有整数列的列号以及特定的列,然后基于:

for (i in seq_along(WaFramesNumeric)) {
    f <- which(sapply(WaFramesNumeric[[i]],is.numeric))
    m <- match("Cost_Center",colnames(WaFramesNumeric[[i]]))
    n <- match("Device_Name",colnames(WaFramesNumeric[[i]]))
    combine <- c(f,m,n)
    WaFramesNumeric[[i]][,i,combine]
}
Run Code Online (Sandbox Code Playgroud)

这些都返回错误,我很难过如何做到这一点.WaFramesNumeric是另一个dataframes(WaFramesNumeric <- WaFramesAll)列表的副本,所以我也尝试添加来自的特定列,WaFramesAll但这不成功.

我感谢您提出的任何建议,如果有任何不清楚的地方我会道歉.

integer r list multiple-columns dataframe

1
推荐指数
1
解决办法
66
查看次数

如何折叠列表中的所有字符向量

我有一个带有特定列的数据框,该列由字符列表组成,如下所示:

a <- list("dyspla", c("dyspla", "dyspla"), "carcin",
          c("tumour", "dyspla"), character(0), character(0),
          c("carcin", "dyspla"), character(0), character(0), "dyspla")
Run Code Online (Sandbox Code Playgroud)

我希望它是一个字符向量,列表中的字符向量如下折叠

c("dyspla","dyspla,dyspla","carcin","tumour,dyspla","carcin,dyspla","dyspla")
Run Code Online (Sandbox Code Playgroud)

paste(a,collapse=" ") 一起崩溃 如何在列表中按向量折叠?

r

1
推荐指数
1
解决办法
204
查看次数