我有一个out像这样的data.table (实际上它要大得多):
out <- code weights group
1: 2 0.387 1
2: 1 0.399 1
3: 2 1.610 1
4: 3 1.323 2
5: 2 0.373 2
6: 1 0.212 2
7: 3 0.316 3
8: 2 0.569 3
9: 1 0.120 3
10: 1 0.354 3
Run Code Online (Sandbox Code Playgroud)
它有3组不同的代码(第1列).在组#1中,代码3不出现,而在另一组中出现.
然后,我想对每个组和代码组合的权重求和.我用这个命令实现了这个目的:
sum.dt <- out[,.(sum(weights)), by=list(code,group)][order(-V1)]
Run Code Online (Sandbox Code Playgroud)
这种方法效果很好但它没有组合1和代码3的组合,因为它不在out表中.我希望有所有可能的组合sum.dt,如果在源表中没有出现组合,它应该总和为0,这意味着V1该行在该行中应为0.
知道我怎么能做到这一点?
如何将整数列转换为日期:
DATE PRCP
1: 19490101 25
2: 19490102 5
3: 19490118 18
4: 19490119 386
5: 19490202 38
Run Code Online (Sandbox Code Playgroud)
到这样的表:
days month years PRCP
Run Code Online (Sandbox Code Playgroud) 给定一个包含因子列 (X1) 和小计列 (X2) 的数据集
X1 X2
1 1 12
2 2 200
3 3 23
4 4 86
5 5 141
Run Code Online (Sandbox Code Playgroud)
我想创建一个这样的图形:
这给出了 x2 占 X2 总数的百分比,除以 X1。
编辑:清晰度和添加数据集的可重复性
我有三张桌子:
Upper Bound
Q C
1 30
2 50
3 40
Lower Bound
Q C
1 10
2 15
3 20
Run Code Online (Sandbox Code Playgroud)
不良数据:
Q C Name
1 50 Sample 1
2 40 Sample 1
3 30 Sample 1
1 0 Sample 2
2 60 Sample 2
3 5 Sample 2
Run Code Online (Sandbox Code Playgroud)
我想要一个图表,以灰色绘制下限和上限,并填充之间的所有内容,并用不同的颜色和图例在顶部绘制不良样本:
plot <- ggplot(Bad_Data, aes(x = Bad_Data$Q, y = Bad_Data$C, group = 1))
plot + geom_line(aes(color = N)) + geom_ribbon(aes(ymin = Lower_Bound$C, ymax = Upper_Bound$C))
Run Code Online (Sandbox Code Playgroud)
我尝试过,但它给了我这个错误:
错误:美学必须是长度 1 或与数据 (624) 相同:ymin、ymax、x、y、group …
我有一个这样的数据表:
z
a b negflag
1: 1 41 0
2: 2 61 0
3: 3 623 0
4: 4 -12 1
5: 5 10 0
6: 6 15 0
7: 7 16 0
8: 8 -9 1
9: 9 31 0
10: 10 10 0
Run Code Online (Sandbox Code Playgroud)
我想要做的是在"negflag"旁边添加一个列,它告诉我b列中是否有正值,之前是2行.
像这样:
a b negflag posflag
1: 1 41 0 0
2: 2 61 0 1
3: 3 623 0 1
4: 4 -12 1 0
5: 5 10 0 0
6: 6 15 0 …Run Code Online (Sandbox Code Playgroud) 我有一列数字,例如社会安全号码.我想将此列与不可接受的值列表(例如11111111或类似12345678)进行比较.还有一些我想要执行的grepl操作,就像前3位数不能000.下面是我认为代码看起来像的骨架,我更喜欢for循环逻辑.
ssns <- c(12343210,23454321,34565432,11111111)
badssns <- c(11111111,22222222)
for( i in 1:length(ssns)) {
if(ssns[i] %in% badssn_list) {
ssns$newcolumn==BADSSN
}
else if( grepl(first 3 numbers 0){
ssns$newcolumn==BADSSN
}
else{ssns$newcolumn==GOODSSN}
}
Run Code Online (Sandbox Code Playgroud) 我df有一个link列(类型列表),指定记录是否匹配df(即,如果它有重复).
df <- data.frame(id=1:7,link=I(list(c(2,3),c(1,3),c(1,2),NA,NA,7,6)))
id link
1 1 2, 3
2 2 1, 3
3 3 1, 2
4 4 NA
5 5 NA
6 6 7
7 7 6
Run Code Online (Sandbox Code Playgroud)
我想要子集df以仅保留具有链接记录的那些行的第一个匹配行(即,关于按ID的顺序).我想要:
id link
1 1 2, 3
2 4 NA
3 5 NA
4 6 7
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一个循环来存储id要从df中删除的行的值to_remove.它现在不太有效,我觉得我正在过度思考这个问题.
to_remove <- character(0)
for (n in 1:nrow(df)) {
links <- df$link[[n]]
if (all(is.na(links))) next # skip if no links …Run Code Online (Sandbox Code Playgroud) 我想从函数返回几个 data.table 类型对象。
return(list(data.table(train), data.table(test)))并且train = tt_list[1]不返回 data.table 类型而是列表类型。
我尝试转换但出现错误(train = as.data.table(tt_list[1])原因:
FUN(X[[i]], ...) 中的错误: )
或者这个过程花了很多时间而结果还没有出现。
我的问题是:在这种情况下我应该放弃我的功能并只在流程中完成工作,还是有一些比列表更好的容器来保存 data.table ?没有这个功能一切都好。
我有一个字符串,a="100111"并希望将其拆分并存储为b=("1","0","0","1","1","1")长度为6的列表.我尝试使用srtsplit进行拆分,但最终得到一个列表b = ("1" "0" "0" "1" "1" "1"),长度为1.最终目标是获取字符串中的哪些位置为"100111"1.例如,当我拆分并将其存储在b中("1","0","0","1","1","1")然后使用which(b=='1')它想要得到(1,4,5,6)
我试图从我的数据库中获取 3 组对象,我想以这样的方式显示它们:
但它只是把它们放在一个地方而不是分散开,见这里:

我猜卡片视图彼此重叠并且全部停留在一个地方而不是去可用区域。
我使用 LinearLayout 作为代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:weightSum="2"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="2">
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_weight="1"
android:layout_gravity="left">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_addimage"
android:id="@+id/itemImage"
android:scaleType="fitCenter"
android:padding="2dp"
android:adjustViewBounds="true" />'
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Item name"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="5dp"
android:textSize="20dp"
android:textStyle="bold"
android:id="@+id/itemName"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Price"
android:textStyle="normal"
android:paddingTop="3dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingBottom="10dp"
android:id="@+id/itemPrice"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) xml android-layout android-linearlayout android-cardview android-recyclerview