我有以下数据框(数据),我想从中提取并打印列标题,其中有一个非零元素:
M1 M2 M3 M4
2 0 1 0 1
5 1 -1 0 0
7 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
所需输出:
2: M2 M4
5: M1 M2
7: M2 M3
Run Code Online (Sandbox Code Playgroud)
到目前为止我的R代码不起作用:
colnames(data)[which(data[2] !=0),]
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激.谢谢
我如何在R中使用setdiff()来获取一个向量而不是其他向量中的元素我的示例如下:
dat1 <- c("osa", "bli", "usd", "mnl")
dat2 <- c("mnu", "erd", "usd", "mnl")
dat3 <- c("ssu", "erd", "usd", "mnl")
Run Code Online (Sandbox Code Playgroud)
以下代码仅返回dat1与dat2和dat3相比的不同之处:
diffs <- Reduce(setdiff,
list(A = dat1,
B = dat2,
C = dat3
)
Run Code Online (Sandbox Code Playgroud)
如何修改此代码以便能够获取向量中唯一存在的所有元素与另一个相比?谢谢
如何使用pandas按月将以下数据分组:
17/1/2001 800
7/1/2001 1300
2/1/2001 400
1/1/2001 200
25/3/2001 1800
8/3/2001 1300
Run Code Online (Sandbox Code Playgroud)
然后在月份的第一天和最后一天以及相应的第一个和最后一个值具有以下输出:
First Last First Last
1/1/2001 17/1/2001 200 800
8/3/2001 25/3/2001 1300 1800
Run Code Online (Sandbox Code Playgroud)
谢谢
如何根据索引和非索引列对数据框中的值进行排序?
数据框:
ID Colour A B C
45356 Green 1 34 4
34455 Yellow 23 0 1
53443 Brown 3 4 3
45555 Green 5 5 2
Run Code Online (Sandbox Code Playgroud)
表有两个索引列(ID 和颜色)。我想根据 ID(升序)、A(降序)和 C(升序)对表进行排序。
所需的输出是:
ID Colour A B C
34455 Yellow 23 0 1
45356 Green 1 34 4
45555 Green 5 5 2
53443 Brown 3 4 3
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个:
df.set_index(inplace=True)
df.sort_values(['ID', 'A', 'C'], ascending=['True','False','True'])
Run Code Online (Sandbox Code Playgroud)
这不起作用作为“ID”,因为无法识别列。
我正在使用write()以这种方式将多行写入同一文件:
filename='out.txt'
write(c("\n\n","No of blues =", nrow(data1)), file=filename,append=FALSE)
write(c("\n\n","No of greens =", nrow(data2)), file=filename,append=Append)
write(c("\n\n","No of reds =", nrow(data3)), file=filename,append=Append)
Run Code Online (Sandbox Code Playgroud)
data1,data2和data3是变量名.
但是我遇到了以下错误:
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'list') cannot be handled by 'cat'
Run Code Online (Sandbox Code Playgroud)
对于这个问题,R有解决方案吗?