r - 如何编写代码来测试数据集的三行是否可以是R中三角形的边
问题描述
我是编程新手,遇到了问题。我将不胜感激任何帮助。问题是这样的:我有一个包含 146,610 行数字的文件,每行(三列)三个正数。对于每一行,我必须确定这三个数字是否可以是三角形的边。对于每一行,我希望程序返回 0 或 1,其中 0 表示“不是三角形”,1 表示“它是三角形”。我希望将这些值放在一个向量中,该向量isTriangle
将用于问题的下一部分。到目前为止,这是我的代码,但我知道这是完全错误的。请指导我正确的方式。
triangles <- read.csv(filename, header = FALSE, col.names = c("a", "b", "c"))
for(i in 1:nrow(triangles)) {
if (triangles$a + triangles$b > triangles$c
|| triangles$a + triangles$c > triangles$b ||
triangles$c + triangles$b > triangles $a) {
解决方案
df <- data.frame(a = c(10652.06,5066.678,255.2218,301.0861,8907.806,2471.524,10824.15),
b = c(4054.905,1631.475,9935.731,2607.451,1605.074,6580.303,4374.1),
c = c(6070.151,3002.47,10338.6,3853.397,6465.37,4020.112,5512.144
))
triangles <- df
for(i in 1:nrow(triangles)) {
if(triangles$a[i] + triangles$b[i] > triangles$c[i]
& triangles$a[i] + triangles$c[i] > triangles$b[i] &
triangles$c[i] + triangles$b[i] > triangles$a[i]){
triangles$isTriangle[i] <- 1
}else{
triangles$isTriangle[i] <- 0
}
}
# solution
a b c isTriangle
1 10652.0600 4054.905 6070.151 0
2 5066.6780 1631.475 3002.470 0
3 255.2218 9935.731 10338.600 0
4 301.0861 2607.451 3853.397 0
5 8907.8060 1605.074 6465.370 0
6 2471.5240 6580.303 4020.112 0
7 10824.1500 4374.100 5512.144 0
除了 ,你做的一切都是正确的||
,你必须&
改用。我希望这有帮助
推荐阅读
- reactjs - 将一个反应组件传递给传单弹出窗口
- php - switch 语句 case 未执行
- mysql - Node.js Mysql:连接失败
- angular - 如何从 Observable 中删除特定元素 e1
- sql - ORA-00920: 无效的关系运算符(将数值条件应用于 varchar 列)
- makefile - Make:如何更改与特定模式匹配的文件的路径
- vba - 使用 VBA 从下拉菜单中选择选项
- python - Matplotlib 隐藏在体素后面的散点图
- c# - 当我在 WPF Mvvm 中按下按钮时,如何在 DataGrid 中显示数据?
- ms-access - 怎么写<
> 在必填字段的字段中,并在国家字段中以 ubnound 形式“选择一个国家”