我的数据如下所示:
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)
有什么建议?
我正在尝试使用reshape2 中的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) 我需要从组内的每个观察中减去按组计算的平均值。其中具有挑战性的部分是我在数据框中有一个子分组,或两个级别: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 求平均值,我会得到一个新的 …
我有两个数据框,我试图合并.第一个表是项目列表和相关数据,例如:
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)
谁能提供有关如何实现这一目标的建议?
我有几个具有相同结构的不同 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 文件);等等。
我有一个超过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) 我有两个概率密度函数,我想知道它们的分布是否相似.我知道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) 我有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) 我有一个名为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但这不成功.
我感谢您提出的任何建议,如果有任何不清楚的地方我会道歉.
我有一个带有特定列的数据框,该列由字符列表组成,如下所示:
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=" ") 一起崩溃 如何在列表中按向量折叠?